我有一个MySQL数据库,' fruits',有10行,如下所示:
id | variable | value
1 | apples | 5
2 | oranges | 6
如何有效地使用查询来分配PHP变量值,因此我可以在其他地方使用它们:
$ apples = 5;
$ oranges = 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次,但看起来很糟糕,必须有更好的方法,可能涉及某种循环。在这个(明显)如此完整的代码上不是专业人士,所以我可以看到它的一切如何工作将非常感激。
感谢您的帮助!
答案 0 :(得分:2)
这是一个变量变量的例子:
$sql="SELECT * FROM fruits";
$result = mysqli_query($conn,$sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
$variable = $row["variable"];
$$variable = $row["value"];
echo("Name: " . ${variable} . " Value: " . $$variable . "<br>");
}
}
祝你好运
答案 1 :(得分:1)
也可以使用它。
$con = mysqli_connect($servername, $username, $password, $dbname);
$sql="SELECT variable, value FROM fruits";
$result=mysqli_query($con,$sql);
while($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){
${row["variable"]}= $row["value"];
}
答案 2 :(得分:-1)
我无法看到这样做的一个原因。 数组本身就是一个变量。通过以下方式访问任何单个元素非常容易:$ rows [2] [&#39; variable&#39;]或$ rows [1] [&#39; value&#39;]。
但是如果你真的需要一些混乱,你可以将extract()和foreach循环结合起来。