我有一個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中的值的順序,就像蘋果然後橙色然後... –