[前][次][番号順一覧][スレッド一覧]

mysql:2465

From: (moeru) <<moeru@xxxxxxxxxx>>
Date: Mon, 11 Sep 2000 19:59:17 +0900
Subject: [mysql 02465] Re: エラーの意味


2000/09/10 09:01:57 +0900にIshida Akio <iakio@xxxxxxxxxx>さんに頂いた
「[mysql 02461] Re: エラーの意味」への返事です。


モエルです。
こんにちは、石田さん(^^)

>> Warning: Unable to jump to row 0 on MySQL result index 4 in 
>> /home/httpd/html/sell/item.php3 on line 50
>> 
>> このindex 4の意味は何でしょうか?
>> 
>> 
>> 上記のエラーは、以下のような処理の時によく起きます。
>> 
>> $result = mysql_query ("SELECT name FROM item WHERE itemid = '$itemid' limit 1");
>> $itemname = mysql_result($result, 0, "name");
>
>4 は、 $result の値だと思います。
>エラーの意味としては、 mysql_num_rows($result) した値が 0 より
>小さかった、ということでしょう。

なるほど。。
mysql_num_rows($result)は、書かないで
mysql_result($result, 0, "name");ってしてるので
PHPは、自動的にmysql_num_rows($result)して
エラーを返してるのかも知れないですね。


>> これを以下のように直すと直るのですが
>> 
>> $item_info = mysql_fetch_array($result);
>> $itemname = $item_info["name"];
>> 
>> 何で、$itemname = mysql_result($result, 0, "name");
>> だとだめなのか理解していません。。。
>
>うーん。
>ただ、 mysql_query() が 1 行も返さなかった場合、
>mysql_result() は、上記のエラーになりますが、
>mysql_fetch_array() は空の配列を返すだけで、エラーにはならないのでは?
>また、空の array に対して、 $item_info["name"] とアクセスすることも、
>エラーにはなりません。

mysql_fetch_array() では、空じゃなくて、ちゃんと値を返してくれます。
なので、謎だったわけです。。

mysql_resultを使うときは、
mysql_result($result, $n, "name");
とかのループで行を取ってくるときには問題なかったので
1行だけ結果が欲しいときは、mysql_fetch_array()とかにすることにしました。

>とりあえず、 mysql_result() を呼ぶ時は、
>あらかじめ mysql_num_rows() で、行数を確認してからの方がいいかも。

そうですね。TESTの時くらいは、行数を確認したほうがいいですね。


># あと、参考までに php のバージョンを教えて下さい。

はい。
MySQL3.23.21-beta
PHP3.0.12jp-beta4

です。


今後もどうぞ宜しくお願いしますm(__)m


モエル

[前][次][番号順一覧][スレッド一覧]

      2455 2000-09-07 22:19 [<moeru@xxxxxxxxxx>  ] エラーの意味                            
      2457 2000-09-08 15:31 ┣["Y. Tsutsui" <tutui@]                                       
      2458 2000-09-08 19:56 ┃┗[<moeru@xxxxxxxxxx>  ]                                     
      2459 2000-09-08 20:04 ┃ ┗["Y. Tsutsui" <tutui@]                                   
      2460 2000-09-08 20:32 ┃  ┗[<moeru@xxxxxxxxxx>  ]                                 
      2461 2000-09-10 09:01 ┗[Ishida Akio <iakio@x]                                       
->    2465 2000-09-11 19:59  ┗[<moeru@xxxxxxxxxx>  ]