重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

プログラムコードが多いのですべては載せられないのですが


$rid = mysql_query($query = "select base from boards where base='$base'");//base は text型
$rid || die("$query :" . mysql_error() . "\n");

echo "rid: $rid \n";

if (! mysql_fetch_row($rid)) {
// そんな行は無い場合の処理・・・
}

という箇所で、ときどき

rid: 1
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /path/
to/htdocs/collect.php on line xx

という警告が出ることがあります。
mysql_query()でselect文のクエリを発行した場合は成功時にリソースID、クエリ失敗時に FALSE を返すとマニュアルにはあります。
たしかに上記部分が正常に動作する場合は、
rid: Resource id #102
といったリソースIDが表示されます。

では単純に 1 を返す場合は何を意味しているのでしょうか?

A 回答 (1件)

返り値


SELECT, SHOW, DESCRIBE や EXPLAIN 文、その他結果セットを返す文では、 mysql_query() は成功した場合に resource を返します。エラー時には FALSE を返します。
それ以外の SQL 文 UPDATE, DELETE, DROP などでは、 mysql_query() は成功した場合に TRUE 、エラー時に FALSE を返します。

"set names utf8" などもTRUEが返ります。

この回答への補足

それとタイトルを間違えていました。
mysql_fetch_rowが 1 を返すことがある
ではなく
mysql_queryが 1 を返すことがある
です。

ご回答ありがとうございました。

補足日時:2007/10/03 20:13
    • good
    • 0
この回答へのお礼

ソースコードは上記の通りで、クエリはSELECTなのでTRUEは返し得ないはずなのですが・・・
実際に1が返った場合の $query はselect文でした。

お礼日時:2007/10/03 20:11

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