我想提出一個搜索框的功能,有此查詢:爲什麼我的PDO查詢使用LIKE&LIMIT不起作用?
$query="SELECT * FROM article WHERE title LIKE ? OR description LIKE ?";
然後在foreach循環中,我有這樣的數組:
$params[]= "%".$keyword."%";
$params[]= "%".$keyword."%";
然後我執行:
$stmt=$cxn->prepare($query);
$stmt->execute($params);
這工作,但...
如果,在foreach循環後,我想添加「LI ??MIT」,我這樣做:
$query.=" LIMIT ?, ?";
$params[]=$row_number;
$params[]=$items_per_page;
然後我執行腳本,並拋出這個致命錯誤:
PHP Fatal error: Uncaught exception 'PDOException' with message
'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax
to use near ''0', '2'' at line 1' in ..../index.php:247
Stack trace:
#0 .../index.php(247): PDOStatement->execute(Array)
#1 {main}
thrown in ..../index.php on line 247
我試圖做加引號圍繞兩個關鍵詞:$params= "'%".$keyword."%'";
但這沒有奏效。
此外,我試着在PHPMyAdmin內完全相同的查詢,它的工作。
有沒有人知道爲什麼這是拋出一個錯誤?
非常感謝。
什麼是'$ keyword'的價值? – Kermit
可能重複[PHP的PDO bindValue在極限](http://stackoverflow.com/questions/2269840/php-pdo-bindvalue-in-limit) – jeroen
嗨,值是一個字符串,只是字母。 – alexx0186