stmt->执行不正常

时间:2014-12-01 03:38:31

标签: php mysql

我试图从下面的代码中获得结果,但是,没有返回结果。 $stmt->execute(array(id))未按预期运行。它似乎在其他代码段中运行良好,我对它们进行了比较,但没有看到任何差异。

$stmt = $mysql->dbh->prepare("SELECT * FROM keys WHERE type = ?");
if($stmt->execute(array($id))) {
    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        echo $row["price"];
    }
}

由于

1 个答案:

答案 0 :(得分:7)

keys是MySQL保留字

要么用反引号包装它,要么使用其他名称 只是不要将其重命名为key。这也是一个MySQL保留字。

SELECT * FROM `keys`

使用错误异常会引发错误。

在连接打开后立即添加setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION),如果您还没有这样做。

咨询: http://php.net/manual/en/pdo.error-handling.php

  • 假设您已经建立了成功的数据库连接。