从数据库内容生成变量?
问题描述:
我正在查询一个数据库以在我的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);
可能更多的使用。