Mysql选择语法错误的位置

时间:2017-04-04 02:39:04

标签: php mysql

我正在努力弄清楚如何修复下面代码中的语法。

$key = 4;
$column = "five_year";

$query_for_rate = "SELECT $column key FROM $usertable WHERE key=$key";

$get_rate = mysql_query($query_for_rate) or die(mysql_error());

echo $query_for_rate. "<br>";
echo $get_rate;

if($get_rate){
while($row = mysql_fetch_array($get_rate)){

echo $row;

    }
}

错误:

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的'key FROM current_rates WHERE key = 4'附近使用正确的语法

感谢您的回复。我认为,查询现在正在运行。当我回显$ get_rate时,我得到“资源ID#5”。我现在的问题是我不能让我的while循环产生任何结果。谢谢!

1 个答案:

答案 0 :(得分:1)

Key是保留字。你需要用反引号引用它。

$query_for_rate = "SELECT $column `key` FROM $usertable WHERE `key`=$key";

但是我怀疑这不起作用,而是你需要这样做。

$query_for_rate = "SELECT $column `key` FROM $usertable WHERE `$column`=$key";

因为你需要引用实际的列名而不是你所说的那个。