当我尝试使用PHP变量进行查询时,PDO查询返回bool(false)

时间:2018-07-17 17:22:55

标签: php mysql sql forms pdo

我正在尝试使用$ _POST表单数据中的PHP变量($ key)进行查询,并使用bindParam将参数绑定到变量。

    foreach ($_POST as $key => $value) {
      if (isset($value) && is_numeric($value)) {
        $sql = "SELECT productPrice FROM products WHERE productName=:productName";
        $stmt = $conn->prepare($sql);
        $stmt->bindParam(':productName', $key, PDO::PARAM_STR);
        $stmt->execute();

        $result = $stmt->fetch(PDO::FETCH_ASSOC);
        var_dump($result);
    }

这将在我的页面上返回'bool(false)',但我不确定为什么会这样做。我确保$ key变量与我要查询的SQL表上的数据准确匹配。

1 个答案:

答案 0 :(得分:0)

您正在将$key分配给$value

foreach ($_POST as $key => $value) {

此后,您仍在此行中使用$key而不是$value

$stmt->bindParam(':productName', $key, PDO::PARAM_STR);

尝试使用它,

$stmt->bindParam(':productName', $value, PDO::PARAM_STR);

希望对您有所帮助。