gpt4 book ai didi

php - fatal error : Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in you

转载 作者:行者123 更新时间:2023-12-04 07:12:49 35 4
gpt4 key购买 nike

  $wordsAry = explode(" ", $search);
$wordsCount = count($wordsAry);
$queryCondition = " WHERE ";
for($i=0;$i<$wordsCount;$i++) {
$queryCondition .= "`location` LIKE '%$wordsAry[$i]%'";
if($i!=$wordsCount-1) {
$queryCondition .= " OR ";
}
}
echo $queryCondition;

$sql1 = "SELECT * FROM `shelves_instruments`
:szukaj
ORDER BY location ASC";
$licz_ilosc = $connect_db -> prepare($sql1);
$licz_ilosc -> bindValue(':szukaj', $queryCondition, PDO::PARAM_STR);
$licz_ilosc -> execute();
$ilosc_stron = $licz_ilosc->rowCount();

WHERE location LIKE '%walida%'


Fatal error: Uncaught PDOException:SQLSTATE[42000]: Syntax error or access violation: 1064 You have anerror in your SQL syntax; check the manual that corresponds to yourMariaDB server version for the right syntax to use near '' WHERElocation LIKE '%walida%'' ORDER BY location ASC' at line 2 in


有什么问题?

最佳答案

准备好的语句不是替换文本的好方法。您不能发送整个 WHERE子句作为单个参数。
您需要创建一个 WHERE像这样的子句:

$where = "WHERE `location` like :term1 OR `location` like :term2";
然后创建您的条款,以便
     $param1 = '%'.$firstTerm.'%'  ;
$param2 = '%'.$secondTerm.'%' ;
然后将您的条款绑定(bind)到您准备好的声明中
$query = "SELECT * FROM `shelves_instruments` ".$where." ORDER BY location ASC"
$licz_ilosc = $connect_db -> prepare($query);
$licz_ilosc->execute([
"term1"=>$param1,
"term2"=>$param2
]);

关于php - fatal error : Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in you,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68968997/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com