データベースを名前で検索するストアド プロシージャを作成しました。a.txt、a1.txt、a2.txt、a3.txtなどの名前のデータベースに保存された多くのテキストファイルがあります...
stoerd プロシージャを実行すると、結果が 1 つしか表示されません。
SELECT * FROM cars WHERE name LIKE CONCAT ('%', search ,'%');
ここで何が問題なのですか?
あなたの問題の解決策は
SELECT * FROM cars WHERE name LIKE CONCAT ('%'. $search . '%');
または、SQLサーバーで直接使用している場合は、
SELECT * FROM cars WHERE name LIKE CONCAT ('%search%');
(ドル記号に注意してください) が PHP 変数である場合$search
(質問に「php」のタグを付けたためだと思います)、SQL 関数を使用する必要はありませんがCONCAT
、PHP で文字列を結合し、すべてを MySQL に送信します。
$sql = 'SELECT * FROM cars WHERE name LIKE "%'.$search.'%"';
これは、検索基準ではなく文字として扱われるCONCAT
ためです。%
try this
SELECT * FROM cars WHERE name LIKE '%$search%' ;
or this
WHERE name LIKE '$search'