我想寫一個簡單的搜索函數,讀取字符串$查詢。sql選擇類似語句與許多或操作數
我的問題是,我可以在select語句中使用多個OR嗎?我試圖搜索一個字符串,看它是否與許多列值匹配,然後打印這些行。
function search($query) {
try {
$db = db_open();
$sql = "select * from pms where (name like :query) or (state like :query) or
(start like :query) or (finish like :query) ";
$statement = $db->prepare($sql);
$statement->bindValue(':query', $query);
$statement->execute();
$pms = $statement->fetchAll();
} catch(PDOException $e) {
die("Error: ".$e->getMessage());
}
return $pms;
}
這是行不通的,除了當我尋找一個國家。
謝謝
解決,綁定語句中的語法不正確。 '$陳述書> bindValue( ':查詢',$查詢);' 應該是: '$陳述書> bindValue( ':查詢', 「%$查詢%」);' 感謝其他會員發佈建議。他們幫忙整理我的代碼:-) – AngeKing