- ベストアンサー
初歩的質問 文字列を検索しヒットした件数を得たい
MySQL初心者でどのようなコードを書けばいいかわかりません。 やりたいことはこうです。 特定のフィールド内においてある文字列を検索し、ヒットした件数を得る。 SELECT COUNT(fff) FROM test_table LIKE 'moziretu'; こう書いてもできません。 どう書けば実現できるんでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
PHPと連携している、という点は最初に書いていただきたかったです。 それはさておき、No4さんの回答のように、 count(*)に別名をつけて、その別名を連想配列の添字にすれば たぶんOKだと思います。
その他の回答 (4)
- chukenkenkou
- ベストアンサー率43% (833/1926)
(1)count(*)に「as 別名」で別名を付ける select count(*) as cnt from t1 where c1 like '%文字列%' (2)(1)で付けた別名で参照 print($row["cnt"]);
お礼
やったー できました。 本当にありがとうございます。このことで何時間も悩んでいたので。
- asuncion
- ベストアンサー率33% (2127/6289)
select count(*) from テーブル名 where カラム名 like '%文字列%'; テーブル名、カラム名、文字列のところは実環境に即して置き換えてください。
補足
ありがとうございます。おかげさまで、できましたが、しかし、実はPHPと連携してまして、PHPでSQL文を実行して得られた結果をHTMLに出力すると「Resource id #3」とでてきて、カウントの値を得られません。 いろいろ調べて以下のように書いたのですが、やはり得られません。 $result=mysql_query(SQL文); $row = mysql_fetch_array($result); print($row["COUNT(*)"]); 何が悪いのでしょうか?
- yambejp
- ベストアンサー率51% (3827/7415)
SELECT COUNT(*) FROM `test_table` WHERE `fff`='moziretu'; たぶんこういうことですよね? ワイルドカードをつかわないならイコールで十分でしょう
補足
ありがとうございます。おかげさまで、できましたが、しかし、実はPHPと連携してまして、PHPでSQL文を実行して得られた結果をHTMLに出力すると「Resource id #3」とでてきて、カウントの値を得られません。 いろいろ調べて以下のように書いたのですが、やはり得られません。 $result=mysql_query(SQL文); $row = mysql_fetch_array($result); print($row["COUNT(*)"]); 何が悪いのでしょうか?
- zap35
- ベストアンサー率44% (1383/3079)
SELECT COUNT(fff) FROM test_table WHERE 項目名 LIKE 'moziretu'; では?
補足
ありがとうございます。おかげさまで、できましたが、しかし、実はPHPと連携してまして、PHPでSQL文を実行して得られた結果をHTMLに出力すると「Resource id #3」とでてきて、カウントの値を得られません。 いろいろ調べて以下のように書いたのですが、やはり得られません。 $result=mysql_query(SQL文); $row = mysql_fetch_array($result); print($row["COUNT(*)"]); 何が悪いのでしょうか?
お礼
協力してくれてありがとうございます。 おかげでつっかえが取れました。 今度からは環境まで含めて質問します。