绑定变量的mysql语法错误

时间:2018-05-24 17:28:12

标签: php mysql sql

当我从PHP调用运行查询SELECT id FROM phr ORDER BY id LIMIT ?时,我在查询日志中看到了带有绑定变量的正确查询语句,但是我收到以下错误;

数据库错误。 SQL是'sql'

  

错误是SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;查看与MariaDB服务器版本对应的手册,以便在第1行的“20”附近使用正确的语法。

$limit = 20;
$phraseList = $phrases->getPhrases($limit);

function getPhrases($limit) {
        $dbconnect = new PhrasePDO();
        return $dbconnect->get_phrases($limit);
    }

function get_phrases($limit) {
    global $dbh;
    $sql = 'SELECT id FROM phr LIMIT ?';
    $data = array($limit);
    $sth = $dbh->prepare($sql);
    $ret = array();
    try {
        $sth->execute($data);
        while($row = $sth->fetch(PDO::FETCH_NUM)){
            array_push($ret, new Phrase($row[0]));
        }
        return $ret;
    } catch (PDOException $e) {
        $this->error($e, $sql);
    }
}

由于语法没有任何问题(如果从命令行运行它可以正常工作)并且正确设置了绑定变量,那么查询语句还有什么问题呢?

0 个答案:

没有答案