PDO变量不适用于sql限制代码

时间:2016-06-23 22:10:13

标签: php mysql pdo

我一直在研究这个问题已有一段时间了,即使在引用其他先前提出的问题之后,我似乎也不明白我做错了什么。

工作解决方案:

  $stmt = $dbh->prepare("SELECT * FROM tempTable ORDER BY id ASC LIMIT 1 , 7");

非工作解决方案:

  $limit1 = 1;
  $limit2 = 7;
  $stmt = $dbh->prepare("SELECT * FROM tempTable ORDER BY id ASC LIMIT :start , :end");
  $stmt->execute(array(':start' => $limit1, ':end' => $limit2));

我之前从未遇到过使用php的pdo / sql问题,并且显然不明白为什么会发生这种情况。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我真的有同样的问题,直到我绑定 试试这段代码

  $limit1 = 1;
  $limit2 = 7;
  $stmt = $dbh->prepare("SELECT * FROM tempTable ORDER BY id ASC LIMIT :start , :end");
  $stmt->bindParam(':start',$limit1);
  $stmt->bindParam(':end',$limit2);
  $stmt->execute();

它应该与它一起工作