SQL语句给了我一个错误,虽然看起来很好


SQL Statement is giving me an error, It appears fine although

以下是我的PHP代码

$till=2;
$tilll=$till + 5;
$result = mysql_query("SELECT * FROM test where id >=".$till."AND id <= ".$tilll)

当我运行它时,我收到以下消息

您的 SQL 语法有误;请查看手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第 1 行的"ID <= 7"附近

我不知道这是怎么回事?

如果您尝试显示查询,我想您会看到错误。SQL 可能看起来像这样:

SELECT * FROM test where id >=2AND id <= 7

您在 AND 之前缺少一个空格。试试这个:

$result = mysql_query("... id >=".$till." AND id <= ".$tilll)
#                                        ^ extra space here

您还需要用分号终止 PHP 语句。我假设您正在这样做并且只是忘记发布它,但是最好仔细检查正确的位置是否有分号。

我还建议你使用BETWEEN而不是id >= ... AND id <= ...,并且你给你的变量起了合理的名字:

$sql = "SELECT * FROM test WHERE id BETWEEN " . $min_id . " AND " . $max_id;
$result = mysql_query($sql);
if ($result) {
    # Read results.
} else {
    # Handle error.
}

在 AND 之前缺少一个空格

对于这样的调试,最好先将查询保存到字符串中,然后在执行之前转储它。

$query = "SELECT ...";
print "Query: '$query'";
$result = mysql_query($query);
相关文章: