mysql:2461
From: Ishida Akio <Ishida Akio <iakio@xxxxxxxxxx>>
Date: Sun, 10 Sep 2000 09:01:57 +0900
Subject: [mysql 02461] Re: エラーの意味
はじめまして。石田@苫小牧市と申します。 Thu, Sep 07, 2000 at 10:19:18PM +0900 において moeru さん曰く: > 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 より 小さかった、ということでしょう。 > これを以下のように直すと直るのですが > > $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_result() を呼ぶ時は、 あらかじめ mysql_num_rows() で、行数を確認してからの方がいいかも。 # あと、参考までに php のバージョンを教えて下さい。 -- ---------+---------+---------+---------+---------+---------+---------+ Ishida Akio http://www.pjam.jpweb.net/ishida/
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> ]