mysql:2458
From: (moeru) <<moeru@xxxxxxxxxx>>
Date: Fri, 08 Sep 2000 19:56:52 +0900
Subject: [mysql 02458] Re: エラーの意味
2000/09/08 15:31:16 +0900に"Y. Tsutsui" <tutui@xxxxxxxxxx>さんに頂いた 「[mysql 02457] Re: エラーの意味」への返事です。 モエルです。 堤井さん、コメントありがとうございますm(__)m >> 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"); > >"name"フィールドがレコード定義の中で4番目のフィールドだ、ということでは? >で、このエラーは該当レコードが無かったとき出る気がします。 4番目のフィールドって、当たりだと思います。 でも、該当レコードはちゃんとあるので謎です。。 で、レコードがあっても、空扱いにされてしまいます。 >> これを以下のように直すと直るのですが >> $item_info = mysql_fetch_array($result); >> $itemname = $item_info["name"]; > >1行目で配列へのポインターが割り当てられ、結果が入っていなくとも >ポインターの指しているものを取ってきてるとか? 海外のPHPのメーリングリストとか見てると $itemname = mysql_result($result, 0, "name"); のような書き方してる人がいるので、マネしてたんですけど $item_info = mysql_fetch_array($result); でデータを引き出した方がパフォーマンスが良いとか本に書いてあったので このよくわかんないエラーが起きるのは気持ち悪いので 全部、mysql_fetch_arrayに書き換えてしまいました。 モエル
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> ]