MySQLi -动态分配行值给变量


MySQLi - dynamically assign row values to variables

我很好奇如何创建PHP变量,并动态地填充一个特定行的值,而不必逐个分配值?谷歌不返回什么我正在寻找,而是教我如何插入变量到sql查询…

给一些背景,我有一个40列的表,我不想40次分配

$variable1 = $row['column1']

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

该怎么做呢?有安全问题吗?

您可以使用extract函数:

extract($row);

你可以使用$column1作为变量


, 小心:

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

这是另一种方法

如果从mysql返回的数据是多维数组,那么:

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

如果mysql返回的数据是普通数组,那么:

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