【发布时间】:2016-09-19 22:26:36
【问题描述】:
我有一个 MySQL 数据库,“fruits”,有 10 行,如下所示:
id | variable | value
1 | apples | 5
2 | oranges | 6
如何有效地使用查询来分配 PHP 变量值,以便在其他地方使用它们:
$苹果 = 5;
$橙子 = 6;
或者换句话说,根据数据库中的“变量”列为 PHP 变量赋值。
我可以让它工作的唯一方法是:
$con = mysqli_connect($servername, $username, $password, $dbname);
$sql="SELECT variable, value FROM fruits where variable = 'oranges'";
$result=mysqli_query($con,$sql);
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
$oranges = $row["value"];
我可以这样做 10 次,但看起来很糟糕,必须有更好的方法,大概涉及某种循环。这不是专业人士(显然)如此完整的代码,所以我可以看到它是如何工作的,将不胜感激。
感谢您的帮助!
【问题讨论】:
-
您可能正在寻找variable variables,尽管在几乎所有情况下,最好使用数组来代替。有一个数组,比如
$fruits[$row['variable']] = $row['value'];,然后使用echo $fruits['oranges'];(一定要在进入循环之前定义数组,避免Undefined variable...提示)。 -
extract array_column($row, 'value', 'variable');但正如@Qirel 所说,最好使用数组来代替 -
你知道 db 中的值的顺序,比如苹果然后橙色然后......
标签: php