2017-03-27 14 views
0

私はSQLクエリを持っている:mysqlでLIKEの%[word]%に対応するラベルを使用しますか?

SELECT id, title, file_name, file_path 
FROM Image 
WHERE title LIKE :search 

PDOのSQL要求は、次のように調製される:%karen%は前に0以上の文字を意味する

//$search is "karen" 
$param = "%$search%": 
$stmt = $db->prepare($query); 
$executed = $stmt->execute(array(':search' => $param)); 
if(!$executed){ 
    $error['error'] = $stmt->errorInfo(); 
    echo json_encode($error); 
    exit(); 
} 

私の質問は、%karen%(SQLとして解釈されますされますkarenkarenの後に0以上の文字が含まれています)、これは文字通り%karen%のタイトルを検索していると解釈されますか?

答えて

0

あなたは%を追加し、直接パラメータを渡すためにconcatを使用することができます。

SELECT id, title, file_name, file_path 
FROM Image 
WHERE title LIKE concat('%', :search, '%') 
+0

は 'SQLが理解concat' smtgのですか?また、私はこれをphpの配列に入れているので、 '' id、title、file_name、file_pathからイメージを取得することはできますか?タイトルはLIKE concat( '%'、:検索、 '%') '' ( '%'、:search、 '%') '')?))を使用しているかどうかを確認してください。 – 14wml

+1

これは質問に答えません。 – shmosel

+0

@ 15ongm - concatはMySQLの機能です。一重引用符または二重引用符については、私はPHPの専門家ではない。おそらく他の人があなたの質問に答えます。 – GurV

関連する問題