人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHP + MySQLについて質問です。
3件づつデータを取得するために以下のSQLを実行しました。
SELECT * FROM $mysql_table ORDER BY date LIMIT 0,3
mysql_fetch_rowを利用して変数展開を行ったのですが、最初の1件のみしか取得できません。
3件分のデータを取得できると思ったのですが、何か勘違いしているのでしょうか?

●質問者: koujirou
●カテゴリ:コンピュータ インターネット
✍キーワード:MySQL PHP SELECT SQL データ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● idetky
●0ポイント

mysql_fetch_row()では、指定した結果 ID が指す結果から「 1 行分」のデータしか取得してくれません。

以上です。

◎質問者からの返答

それは知っていますが、mysql_fetch_arrayでも同じ結果です。


2 ● mosgreen
●100ポイント ベストアンサー

手元の環境ではこんな感じで期待通りに動いてます。

mysql_fetch_rowは先にも説明されている方がいらっしゃいますように、レコードを1行分しか取得できないので、whileか何かでループを回してやると良いかと思います。

<?php

$hostname = "localhost";
$uname = "USERNAME";
$upass = "PASSWORD";
$dbname = "DBNAME";
$tblname = "TABLENAME";

//MySQL に接続する。
if( !$res_dbcon = mysql_connect( $hostname, $uname, $upass) ){
print "MYSQL への接続に失敗しました。";
exit;
}

mysql_select_db( $dbname, $res_dbcon );
$res_result = mysql_query( "SELECT * from {$tblname} order by date limit 0,3", $res_dbcon );

//結果を表示
while( $row = mysql_fetch_row( $res_result ) ){

var_dump( $row );
echo "<br>\n";
}

mysql_close( $res_dbcon );

?>
◎質問者からの返答

ありがとうございます!

phpMyadminでは表示されるのになんでだろう?と思ってました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ