PHP:如何从MySQL查询中为变量赋值?
我有一个MySQL数据库“fruits”,有10行,如下所示:PHP:如何从MySQL查询中为变量赋值?,php,Php,我有一个MySQL数据库“fruits”,有10行,如下所示: id | variable | value 1 | apples | 5 2 | oranges | 6 如何有效地使用查询来分配PHP变量值,以便在其他地方使用它们: $apples=5 $oranges=6 或者换句话说,根据数据库中的“variables”列为PHP变量赋值 我能让它工作的唯一方法是: $con = mysqli_connect($servername, $username, $passw
id | variable | value
1 | apples | 5
2 | oranges | 6
如何有效地使用查询来分配PHP变量值,以便在其他地方使用它们:$apples=5
$oranges=6 或者换句话说,根据数据库中的“variables”列为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次,但这似乎很糟糕,一定有更好的方法,大概涉及某种循环。在这方面不是一个专业人士(很明显),所以我可以看到它是如何工作的完整代码将不胜感激
谢谢你的帮助 我看不出有任何理由这样做。 数组本身就是一个变量。使用$rows[2]['variable']或$rows[1]['value']访问任何单个元素都非常容易
但是如果您真的需要一些混乱,您可以将extract()和foreach循环结合起来。这里是一个变量示例:
$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>");
}
}
$sql=“从水果中选择*”;
$result=mysqli\u查询($conn,$sql);
如果($result->num_rows>0){
而($row=$result->fetch_assoc()){
$variable=$row[“variable”];
$$变量=$行[“值”];
echo(“名称:“.${variable}.”值:“.$$variable.”
”;
}
}
最好的问候也可以用这个
$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"];
}
您可能正在寻找,但在几乎所有场景中,最好使用数组。有一个数组,例如
$fruits[$row['variable']]=$row['value']
,然后使用echo$fruits['oranges']代码>(确保在进入循环之前定义数组,以避免未定义的变量…注意)。提取数组_列($row,'value,'variable')
但正如@Qirel所说,最好使用数组,而不是数组。你知道数据库中值的顺序吗,比如apple,然后是orange,然后。。。