使用PHP从MySQL表中检索值时,如何根据MySQL表中字段的名称有效地定义一组变量?
过去我能够按照以下方式做点什么:
while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {
explode ($row);
...
}
这已经定义了一组变量,其名称与我表中的字段名称相同。
我不能为我的生活记住explode ($row)
位的内容。感谢。
答案 0 :(得分:3)
可能Extract?
答案 1 :(得分:2)
将mysql_fetch_array
的结果传递到关联数组中。
有几种方法可以将关联数组中的变量转换为简单变量。最常见的方法是使用list()
function。另一个是extract()
function。
但是,我建议你不要只使用你最初给出的关联数组。
如果您阅读了extract()
的手册页,您会注意到它们会警告它存在潜在的安全风险。通常不鼓励使用它(尽管此时尚未正式弃用)。
使用list()
更为常见,并不代表与extract()
相同的风险,但在大多数情况下仍然没有必要。
希望有所帮助。
答案 2 :(得分:1)
您可能正在考虑list()
功能。
while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {
list($col1, $col2, $col3) = $row;
...
}
// Or more concise:
while (list($col1, $col2, $col3) = mysql_fetch_array ($result, MYSQL_ASSOC)) {
echo $col1;
echo $col2;
...
}
但是,我可能不会使用list()
。我更喜欢直接从关联数组中访问列$row['col1'], $row['col2'], $row['col3']
,以免使用短期变量丢弃全局命名空间。
答案 3 :(得分:1)
你的意思是extract()
。