【问题标题】:Query fails when getting data from MySQL database从 MySQL 数据库获取数据时查询失败
【发布时间】:2013-12-31 09:35:01
【问题描述】:

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

【问题讨论】:

  • 在您的查询中,将这些撇号换成反引号。由于它们都不是保留字,因此您也可以删除它们。

标签: php mysql


【解决方案1】:

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

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

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

【讨论】:

  • 或者只是从食物中选择食物类型、卡路里 - 现在更改您的密码。
  • @Strawberry,是的,但将列括在反引号下始终是一个好习惯。
  • 这是很好的做法,但恕我直言,这也令人难以置信。一个更好的办法是避免使用保留字。
  • @Strawberry,没错。 +1
【解决方案2】:

使用这个..

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

【讨论】:

    【解决方案3】:

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

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

    同时避免使用 mysql_* 函数。

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

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

    Using backticks around field names

    【讨论】:

      【解决方案4】:

      你能试试这个吗,在餐桌食物中添加了反引号

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

      【讨论】:

        【解决方案5】:

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

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

        【讨论】:

          【解决方案6】:

          您的查询中有语法错误。应该如下,

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-06-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-06-22
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多