我有一个MySQL数据库,“水果”,用10行是这样的:PHP:变量如何从MySQL Query中分配值?
id | variable | value
1 | apples | 5
2 | oranges | 6
我怎样才能有效地使用查询分配PHP变量的值,这样我就可以在其他地方使用它们:
$苹果= 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倍,但它似乎很可怕,必须有一个更好的办法,大概涉及到某种循环。在这个(清晰)非常完整的代码中,不是专业人员,所以我可以看到它是如何工作的,我们将非常感激。
感谢您的帮助!
您可能正在寻找[variable variables](http://php.net/manual/en/language.variables.variable.php),尽管在几乎每种情况下,最好使用数组。有一个数组,例如'$ fruits [$ row ['variable']] = $ row ['value'];',然后使用'echo $ fruits ['oranges'];'(一定要在数组之前定义数组进入循环,避免* Undefined variable ... * notices)。 – Qirel
'extract array_column($ row,'value','variable');'但是@Qirel说,最好用数组来代替 –
你知道db中的值的顺序,就像苹果然后橙色然后... –