'SQLSTATE [HY093]'和我的搜索查询

时间:2016-02-17 21:14:22

标签: php sql pdo

我在查找搜索查询时遇到了一些麻烦。我收到这个错误:

  

PDOException:SQLSTATE [HY093]:参数无效

     $test = $_POST["test"];

    $query='SELECT * FROM news WHERE name LIKE :search OR category LIKE :search';
    $stmt = $dbh->prepare($query);
    $stmt->bindValue(':search', '%' . $test . '%', PDO::PARAM_INT);

    $stmt->execute();

    foreach ($stmt as $row) {

    echo $row ['id'];
    echo $row ['name'];

    } 

只有删除OR category LIKE :search

才有效

1 个答案:

答案 0 :(得分:2)

我相信这是因为你试图再次使用相同的绑定变量。尝试使用其他类似的

$query='SELECT * FROM news WHERE name LIKE :search OR category LIKE :search1';
$stmt = $dbh->prepare($query);
$stmt->bindValue(':search', '%' . $test . '%', PDO::PARAM_INT);
$stmt->bindValue(':search1', '%' . $test . '%', PDO::PARAM_INT);