从数据库内容生成变量?

从数据库内容生成变量?

问题描述:

我正在查询一个数据库以在我的params表中获得6个值,从数据库内容生成变量?

$result = mysql_query("SELECT * FROM params"); 
    while($row = mysql_fetch_array($result)) 
    { 

    $param = $row['value'] ; 

} 

这是正确的,如果是的话是他们的客场,我可以每次添加一个变量名一轮,所以我得到$参数1,$参数2 ....

我不想有送为每个参数查询数据库,是否有可能让它们都是这样?

的simpliest方法是使用一个数组:

$result = mysql_query("SELECT * FROM params"); 

$param = array(); 
$i = 0; 
while($row = mysql_fetch_array($result)) { 
    $param[$i] = $row['value'] ; 

    $i++; 
} 

比你得到$ PARAM [0],$ PARAM [1],...

你可以这样创建变量名:

 ${'var'.1} 
     ${'var'.'1.cat'} 
     ${'var'.$x} 
     ${$y.$x} 

等。

这似乎是一个设计缺陷。但是你可以做的是:

$count = 1; 

$result = mysql_query("SELECT * FROM params"); 
while($row = mysql_fetch_array($result)) 
{ 
    $paramname = 'param' . $count++; 
    $$paramname = $row['value'] ; 
} 

您可能会发现list功能非常有用 - http://php.net/manual/en/function.list.php使用描述性的变量,仅仅是一个想法时

list($param1,$param2,$param3,$param4,$param5,$param6) = mysql_fetch_row($result); 

可能更多的使用。