以下是我的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);