以编程方式生成的查询中的语法错误

时间:2018-09-12 10:07:38

标签: php mysql pagination

我面临mysqli_fetch_array()错误并告诉以下内容

  

错误:您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本以使用正确的语法   在第1行的“ 1”附近

正在准备一个分页过程,使我的代码像这样

$_SESSION['sub']=$sub; // this holds the name of database which is working fine
$ques_per_page=1; // LIMIT 
$page_result = ($page-1)*$ques_per_page; //determines the SQL LIMIT starting number for the result on displaying page
$sql="SELECT question, ans1, ans2, ans3, ans4 FROM " .$sub. "LIMIT". $page_result .','. $ques_per_page ; // it is where error is 

不知道出了什么问题

2 个答案:

答案 0 :(得分:1)

在我看来,您在LIMIT关键字前后缺少空格。

但是,如果在替换所有PHP变量之后粘贴完整的扩展字符串,将会有所帮助。

旁注:使用.串联运算符而不是简单地使用变量插值来链接字符串通常被认为是不好的做法,

$sql = "SELECT question, ans1, ans2 from ${sub} LIMIT ${page_result}, ${ques_per_page}";

来自您的示例。

答案 1 :(得分:0)

它起作用了 我这样写查询 $sql="SELECT * FROM $sub LIMIT $page_result, $ques_per_page" ;而非$sql="SELECT question, ans1, ans2, ans3, ans4 FROM " .$sub. "LIMIT". $page_result .','. $ques_per_page ; 谢谢大家的答复.....