从db内容生成变量?

时间:2011-06-08 23:08:48

标签: php

我正在查询数据库,以便在我的params表中获取6个值;

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

    $param = $row['value'] ;

 } 

这是正确的,如果他们离开我可以每次在变量名称中添加一个,所以我得到$ param1,$ param2 ....

我不想为每个参数向数据库发送查询,是否有可能将它们全部这样?

4 个答案:

答案 0 :(得分:0)

您可以创建如下变量名称:

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

等等。

答案 1 :(得分:0)

最简单的方法是使用数组:

$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],...

答案 2 :(得分:0)

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

$count = 1;

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

答案 3 :(得分:0)

您可能会发现list功能有用 - http://php.net/manual/en/function.list.php

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

使用描述性变量时可能更多用处,只是一个想法。