MySQLi - 动态地将行值分配给变量

时间:2016-10-25 05:46:48

标签: php mysqli

我很好奇如何创建PHP变量并使用一个特定行的值动态填充它们而不必一个一个地分配值?谷歌没有返回我想要的东西,而是教我如何将变量插入到SQL查询...

为了给出一些背景知识,我有一个包含40列的表格,我不想分配40次

$variable1 = $row['column1']

,而是将column1中的值自动分配给名为$ column1的变量,并使用相应的值。当然,这应该对该行的每个值进行。

怎么会这样呢?是否存在安全问题?

2 个答案:

答案 0 :(得分:1)

您可以使用extract功能:

extract($row);

因此,您可以使用$column1作为变量

要注意

  1. 根据您的方案创建40个变量
  2. 如果列名与代码中的任何其他变量名相同,则会产生混淆

答案 1 :(得分:0)

这是另一种方法

如果从mysql返回的数据被提取为多维数组,那么:

foreach ($data as $item) {
    foreach ($item as $key => $value) {
        $$key = $value;
    }
}

如果从mysql返回的数据被提取为普通数组,那么:

foreach ($data as $key => $value) {
    $$key = $value;
}