[PHP-users 29482] Re: numrows()のエラー?
M.Terao
mayo @ b-gets.ddo.jp
2006年 6月 24日 (土) 03:33:10 JST
寺尾です。
ソースを見る限り、問題なさげ・・・。
気になったのは、
> if(preg_match("/WINDOWS/",$_ENV["OS"])){
> $sql=mb_convert_encoding($sql,"SJIS","EUC-JP");
> }
の部分ですが、環境はWindows環境なのでしょうか?
その場合DBはSJISなのでしょうか?
> >どのようなコードを動かしているのか提示されてないですが、もしかしてデータ
>
> >ベースオブジェクトで直接このメソッドを呼んでいませんか?
>
> コードをいれていませんでした。
> すみません;;
>
> >上で書かれていることが「直接呼ばずにDB_resultを使って」となっています。
> >通常であれば、このように使わないでしょうか?
>
> >$result->numRows();
> 例の通りにかえてみたら、検索がうまくできなくなってしまいました。
>
> ちなみに、本についていたコードで試してみましたが、やはりうまくいきません
> でした。。。
> (エラーではなく、検索をしてくれなくなりました)
>
>
> <?php
> require_once("DB.php");
>
> $dbUser = "***";
> $dbPass = "***";
> $dbHost = "***";
> $dbName = "sampledb";
> $dbType = "mysql";
>
> $dsn = "$dbType://$dbUser:$dbPass@$dbHost/$dbName";
>
> $conn = DB::connect($dsn);
>
> if(DB::isError($conn)){
> die($conn->getMessage());
> }
>
> $search_key =addslashes($_POST['serch_key']);
>
>
> $sql=<<<EOS
> SELECT * FROM member
>
> WHERE
> last_name like '%$search_key%'
> OR
> first_name like '%$search_key%'
> EOS;
>
>
> if(preg_match("/WINDOWS/",$_ENV["OS"])){
> $sql=mb_convert_encoding($sql,"SJIS","EUC-JP");
> }
>
>
> $result=$conn->query($sql);
> if(DB::isError($result)){
> die($result->getMessage());
> }
>
> $count=$result->numRows();
> print "検索結果は".$count."です。<BR>";
> _______________________________________________
> PHP-users mailing list PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
PHP-users メーリングリストの案内