dポイントプレゼントキャンペーン実施中!

PostgresSQL7.4.6とPHP5で名簿のファイルを作成しました。
そこで例えば、「あ」行の名前の人の数を数えたいと思っています。
以下のようにしましたが、何も表示されません。
どこがいけないのでしょうか。
ご教授ください。宜しくお願い致します。

**********作成したPHP*************
$sql = "SELECT COUNT(*) AS cnta FROM test where (name LIKE N'あ%' OR name LIKE N'い%' OR name LIKE N'う%' OR name LIKE N'え%' OR name LIKE N'お%') ;";
echo "$cnta";
**********************************

A 回答 (1件)

PostgresSQLもPHPもわからないのですが・・・



sql文として
where (name LIKE N'あ%') OR(name LIKE N'い%')OR(name LIKE N'う%')OR(name LIKE N'え%')OR(name LIKE N'お%') ;"
とした方が安全なような気がします。

それと、N'あ%'の、Nっているんでしょうか?

$sql = "SELECT COUNT(*) AS cnta FROM test where (name LIKE 'あ%') OR(name LIKE 'い%')OR(name LIKE 'う%')OR(name LIKE 'え%')OR(name LIKE 'お%') ;";
ではどうでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
以下のようにすると問題なく表示されるので、where以下のところは特に問題ないかと思います。

$sql = "SELECT * FROM test where (name LIKE N'あ%' OR name LIKE N'い%' OR name LIKE N'う%' OR name LIKE N'え%' OR name LIKE N'お%') ;";

お礼日時:2007/09/13 17:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!