从MySQL数据库获取数据时查询失败

时间:2013-12-31 09:35:01

标签: php mysql

我正在尝试从我在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';
}
?>

6 个答案:

答案 0 :(得分:1)

重写您的查询 [使用反引号代替单引号]

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

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

答案 1 :(得分:1)

使用这个..

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

答案 2 :(得分:0)

不要在表名和字段名称周围使用单引号。

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

还要避免使用mysql_ *函数。

Why shouldn't I use mysql_* functions in PHP?

阅读以下内容,了解何时或为何使用反引号

Using backticks around field names

答案 3 :(得分:0)

你可以尝试一下吗,在食物中添加反引号

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

答案 4 :(得分:0)

有关未知列名的问题 你应该使用反引号:

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

答案 5 :(得分:0)

您的查询中存在语法错误。它应该如下,

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