• ベストアンサー

期待した値がMySQLから返ってこない

SELECT 会員名 FROM 会員TBL WHERE 会員番号 IN (1,2,3,5) というSQLをプロンプトから投げると正しい結果が返ってくるのですが、同じSQLをPHPから投げると、プロンプトとは異なった結果が返ってきます。 プロンプトから投げた場合、会員番号が 1,2,3,5 の会員名が返ってきます。ですが、PHPから以下のように投げた場合、会員番号が 1 の会員名しか戻ってきません: $SQL = "SELECT 会員名 FROM 会員TBL WHERE 会員番号 IN (1,2,3,5)"; $result = mysql_query($q, $this->connection); $dbarr = mysql_fetch_array($result); print_r($dbarr); //表示:Array ( [0] => 一番目の会員 ) どこかが間違っているのでしょうか?お分かりになればお教え下さい。よろしくお願いします。 (環境: OS:WinXP Pro php:4.3.7, mysql:4.0.20a)

質問者が選んだベストアンサー

  • ベストアンサー
  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.3

No1さんのおっしゃるとおりの現象です whileでブン回してやってください while ($dbarr = mysql_fetch_array($result)) {  print_r($dbarr); }

dokumori
質問者

お礼

カーソル移動が必要とは気づきませんでした。 考えてみれば、確かにそうですね。 コードも、ありがとうございました。 大変助かります。

その他の回答 (2)

  • kokoromo
  • ベストアンサー率0% (0/1)
回答No.2

where入れないで実行したらどうなりますか?

dokumori
質問者

補足

エラーが出ました。(笑 コメントありがとうございました。

  • j-h-smith
  • ベストアンサー率39% (133/333)
回答No.1

mysqlは、よく分かりませんが、 fetchしているところから考えると、単に結果の1行目が表示されているのでは? loopなどで検索結果カーソルの次レコードを読まないとダメなような気がします。 違ったらすいません。

dokumori
質問者

お礼

コメントありがとうございました。 なるほど、カーソル移動が必要なのですね。

関連するQ&A