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

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>  ]