0

私はこれが以前に答えられたことがあるとかなり確信していますが、私はそれを見つけることができないようです。

mysqlリクエストがあり、すべてを配列として返すのではなく、前半の結果のみを返します。

sql= "SELECT filename, name, keywords FROM `pics` WHERE (keywords LIKE '%chair%' OR '%jeff%') ORDER BY date ASC";

$rows = $db->fetch_all_array($sql);
foreach($rows as $i => $record){

したがって、上記のコードを実行すると、すべてのエントリがchair含まれますが、は含まれませんjeff...それらを切り替えて、'%jeff%' OR '%chair%'すべてのエントリがjeff含まれているが、含まれていない場合chair

私は必要なものが欠けていると確信していますが、ORそれを理解することはできません

4

4 に答える 4

4

keywords LIKE '%chair%' OR keywords LIKE '%jeff%'

条件全体をORする必要があります。

于 2012-06-20T23:37:48.930 に答える
1

'%jeff%'の前に'keywordsLIKE'を置く必要があります

したがって、「キーワードLIKE'%chair%'またはキーワードLIKE'%jeff%'」

于 2012-06-20T23:37:57.467 に答える
1

探したいアイテムごとに列名を入力する必要があります。したがって、あなたの例では、これは機能するはずです:

$sql= "SELECT filename, name, keywords 
       FROM `pics` 
       WHERE (`keywords` LIKE '%chair%' OR `keyword`s LIKE '%jeff%') 
       ORDER BY date ASC";
于 2012-06-20T23:39:07.187 に答える
1

使用する:

WHERE (keywords LIKE '%chair%' OR keywords LIKE '%jeff%')
于 2012-06-20T23:39:59.663 に答える