以下是我的PHP代码
$till=2;
$tilll=$till + 5;
$result = mysql_query("SELECT * FROM test where id >=".$till."AND id <= ".$tilll)
当我运行它时,我收到以下消息
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第1行'id&lt; = 7'附近
我不知道它有什么问题吗?
答案 0 :(得分: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.
}
答案 1 :(得分:1)
在AND之前缺少空格
答案 2 :(得分:1)
对于这样的调试,首先将查询保存到字符串中,然后在执行之前将其转储。
$query = "SELECT ...";
print "Query: '$query'";
$result = mysql_query($query);