• ベストアンサー

初歩的質問 文字列を検索しヒットした件数を得たい

MySQL初心者でどのようなコードを書けばいいかわかりません。 やりたいことはこうです。 特定のフィールド内においてある文字列を検索し、ヒットした件数を得る。 SELECT COUNT(fff) FROM test_table LIKE 'moziretu'; こう書いてもできません。 どう書けば実現できるんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.5

PHPと連携している、という点は最初に書いていただきたかったです。 それはさておき、No4さんの回答のように、 count(*)に別名をつけて、その別名を連想配列の添字にすれば たぶんOKだと思います。

tenketu
質問者

お礼

協力してくれてありがとうございます。 おかげでつっかえが取れました。 今度からは環境まで含めて質問します。

その他の回答 (4)

回答No.4

(1)count(*)に「as 別名」で別名を付ける select count(*) as cnt from t1 where c1 like '%文字列%' (2)(1)で付けた別名で参照 print($row["cnt"]);

tenketu
質問者

お礼

やったー できました。 本当にありがとうございます。このことで何時間も悩んでいたので。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.3

select count(*) from テーブル名 where カラム名 like '%文字列%'; テーブル名、カラム名、文字列のところは実環境に即して置き換えてください。

tenketu
質問者

補足

ありがとうございます。おかげさまで、できましたが、しかし、実はPHPと連携してまして、PHPでSQL文を実行して得られた結果をHTMLに出力すると「Resource id #3」とでてきて、カウントの値を得られません。 いろいろ調べて以下のように書いたのですが、やはり得られません。 $result=mysql_query(SQL文); $row = mysql_fetch_array($result); print($row["COUNT(*)"]); 何が悪いのでしょうか?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

SELECT COUNT(*) FROM `test_table` WHERE `fff`='moziretu'; たぶんこういうことですよね? ワイルドカードをつかわないならイコールで十分でしょう

tenketu
質問者

補足

ありがとうございます。おかげさまで、できましたが、しかし、実はPHPと連携してまして、PHPでSQL文を実行して得られた結果をHTMLに出力すると「Resource id #3」とでてきて、カウントの値を得られません。 いろいろ調べて以下のように書いたのですが、やはり得られません。 $result=mysql_query(SQL文); $row = mysql_fetch_array($result); print($row["COUNT(*)"]); 何が悪いのでしょうか?

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

SELECT COUNT(fff) FROM test_table WHERE 項目名 LIKE 'moziretu'; では?

tenketu
質問者

補足

ありがとうございます。おかげさまで、できましたが、しかし、実はPHPと連携してまして、PHPでSQL文を実行して得られた結果をHTMLに出力すると「Resource id #3」とでてきて、カウントの値を得られません。 いろいろ調べて以下のように書いたのですが、やはり得られません。 $result=mysql_query(SQL文); $row = mysql_fetch_array($result); print($row["COUNT(*)"]); 何が悪いのでしょうか?

関連するQ&A