PDO::混乱

PDO:: Confusion

我不知道为什么这没有返回任何东西。我将展示代码并讨论我所采取的步骤。

if (isset($_GET['observation'])) {
    require_once("../func/connect.php");
    $query = "SELECT * FROM observations WHERE option = ?";
    $stmt = $db->prepare($query);
    $stmt->bindValue(1, $_GET['observation']);
    $stmt->execute();

    $row = $stmt->fetch(PDO::FETCH_ASSOC);
    echo $row['question'];

} else {
    echo 'nope';
}

$row 转储一个错误的布尔值,$row['question'] 为空。

我已经写了大约一百万个查询,但不知道为什么这不起作用。

数据库tableobservationsidquestionoption组成,bindValue正确匹配数据库。

然而,它 returns 无效。

option 是 mysql 中的 reserved word 所以你需要用反引号引用它:

$query = "SELECT * FROM observations WHERE `option` = ?";