2012-03-28 11 views
6

元のSQLクエリはこれです。 SELECT id、post_title、post_date FROM wp_posts id = '1'PHPリストの問題(未定義オフセット:)

私はレコードを取得するときに検索しますが、結果を返すことになると困惑します。ここに私が立ち往生した場所があります。

while ($row = mysql_fetch_assoc($RS)) : 
     print_r ($row); 
     list($id,$post_title,$post_date) = $row; 
    endwhile; 

print_r($ row)はこれを出力します。 配列([ID] => 1 [post_title] => Hello world![post_date] => 2012年3月27日03:28:27)

そして、明らかに)、私はこれを得る。

Notice: Undefined offset: 2 in F:\inetpub\wwwroot\whatever\sql.php on line 147 
Notice: Undefined offset: 1 in F:\inetpub\wwwroot\whatever\sql.php on line 147 
Notice: Undefined offset: 0 in F:\inetpub\wwwroot\whatever\sql.php on line 147 

この原因は何ですか。

答えて

5

置き換えます。

mysql_fetch_assoc($RS)

mysql_fetch_array($RS, MYSQL_NUM)

list機能は数字キーを使用してアレイにアクセスするためにtrysので、それは、動作するはずです。

4

私は答えがこの中のどこかにあると思います。

リスト()のみ数値配列上で動作し、数値インデックスが0

で開始想定:(

1

、あなたがmysql_fetch_assocを使用するので、行ごとに得られた配列は、列名によってキーの下のデータを有しています。「リスト」は、数値配列インデックスを使用して値に変数を一致させようとのに対し、あなたはは、mysql_fetch_array代わりに使用することができます

0

$ categ = val1 | ($ one、$ two、$ three)= @ split( '[|]'、$ categ);

使用できない値をリストすると、Undefined Offsetというエラーが返されます。ここでエラーが不定となります

は2

オフセットの$ categをsplitingながらので、それはあなたが3番目の値にアクセスしようとするならば、それはエラーが返されます、唯一の2つの値を持つことになります。

関連する問題