簡體   English   中英

從MySQL數據庫獲取數據時查詢失敗

[英]Query fails when getting data from MySQL database

我正在嘗試從我在phpMyAdmin中創建的數據庫中獲取數據。 我的問題是,但是我更改了我的查詢,我使用mysql_error()函數得到了相同類型的錯誤消息:

您的SQL語法有錯誤; 檢查與MySQL服務器版本對應的手冊,以便在第1行的“食物”附近使用正確的語法

PHP代碼索引文件:

<?php
require 'connect.inc.php';

$query = "SELECT 'food_type', 'calories' FROM 'foods'";

if($query_run = mysql_query($query)){

    while ($query_row = mysql_fetch_assoc($query_run)){
        $food = $query_row('food_type');
        $calories = $query_row('calories');

        echo $food.' has '.$calories.' calories ';
    }
}else{
    echo mysql_error();
}
?>

PHP代碼數據庫連接文件:

<?php
$connectionError = 'Can\'t connect.';

$mySqlHost = 'localhost';
$mySqlUser = 'root';
$mySqlPassword = 'Bhu8Nji9';

$mySqlDataBase = 'my_first_database';

if(!@mysql_connect($mySqlHost, $mySqlUser, $mySqlPassword) || !@mysql_select_db($mySqlDataBase)){
    die($connectionError);
}else{
    //echo 'Connected';
}
?>

重寫您的查詢[使用反引號而不是單引號]

$query = "SELECT 'food_type', 'calories' FROM 'foods'";

$query = "SELECT `food_type`, `calories` FROM foods";

用這個..

$result = mysql_query("SELECT food_type,calories FROM foods");
while($row = mysql_fetch_array($result))
{...}

不要在表名和字段名周圍使用單引號。

$query = "SELECT food_type, calories FROM foods";

還要避免使用mysql_ *函數。

為什么我不應該在PHP中使用mysql_ *函數?

閱讀以下內容,了解何時或為何使用反引號

在字段名稱周圍使用反引號

你可以嘗試一下嗎,在食物中添加反引號

$query = "SELECT food_type, calories FROM `foods`";

關於未知列名稱的問題,您應該使用反引號:

$query = "SELECT `food_type`, `calories` FROM foods";

您的查詢中存在語法錯誤。 它應該如下,

$query = "SELECT food_type, calories FROM `foods`";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM