こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

PHPからのLike検索について。

初めまして。

ロリポップでPHPとMySQLを使ってHPを作成しているのですが

Likeの条件を付け足すと結果が取得できなくなってしまいます。

ロリポップ上の【phpMyAdmin】で同じSQLを実行すると
結果を取得してくれるのですが
PHP上でLike条件を付け足すと、上手く結果を取得してくれなくて困っています。

$key = "あ";
$LIKE = " where furigana Like '$key%'";
$SQL = "select count(*) from item_info" . $LIKE;

$rst= mysql_query( $SQL, $con );

print $SQL;

$col= @mysql_fetch_row($rst);
$ret[0]= mb_convert_encoding($col[0],"SJIS","EUC-JP");

print "<br>";
print $ret[0];

このSQLで結果【1】が取得できるはずなのですが
表示すると必ず【0】となってしまいます。。

上記のコードに何か間違いがありますでしょうか?
ご教授お願い致します。

投稿日時 - 2007-05-27 13:13:00

QNo.3034470

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

単に一文字目が「あ」のデータが無いだけとかはありませんか?

投稿日時 - 2007-05-28 19:11:03

ANo.2

データベースの文字コードがEUC-JPであることは確認されたのですね?

追加で、いくつか教えてください。
 ・phpスクリプトの文字コード
 ・php.iniの[mbstring]セクションで設定している「mbstring.何とか」の全項目

投稿日時 - 2007-05-28 09:34:08

ANo.1

データベースに格納しているデータの
文字コード体系がからんでいそうです。

もし、データベースにEUC-JPでデータを格納していれば、接続直後に
"set names ujis"
というクエリーを発行してみるとよいかもしれません。

投稿日時 - 2007-05-27 14:51:46

お礼

レスありがとうございます。

接続直後に教えていただいたとおりに発行してみたのですが
mysql_query( "set names ujis", $con );
結果は変わりませんでした。。。

他に原因は考えられますでしょうか?

投稿日時 - 2007-05-27 20:07:10

あなたにオススメの質問