我正在使用PHP和MySql。以下是我的代碼:爲什麼查詢只返回一條記錄而不是很多?
$con=mysql_connect("localhost","XYZ","pqr") or die("Failed to connect with database!!!!");
mysql_select_db("LMN", $con);
$sql =" SELECT DATE_FORMAT(FROM_UNIXTIME(transaction_date) , '%d/%m/%Y') 'date', COUNT(*) 'total count', SUM(transaction_status = 'success') ";
$sql .=" success, SUM(transaction_status = 'inprocess') inprocess, SUM(transaction_status = 'fail') fail, ";
$sql .=" SUM(transaction_status = 'cancelled') cancelled FROM user_transaction WHERE ";
$sql .=" transaction_date >= 1325376000 AND transaction_date <= 1373846400 GROUP BY date(FROM_UNIXTIME(transaction_date)) ";
$r= mysql_query($sql) or die(mysql_error());
$result = mysql_fetch_array($r, MYSQL_ASSOC);
print_r($result);
die;
如果我在phpMyAdmin運行上面的查詢它給我完美的結果(即47個匹配的記錄),但是當我通過PHP文件運行它給我的只有單個記錄s如下:
Array
(
[date] => 11/04/2012
[total count] => 1
[success] => 0
[inprocess] => 0
[fail] => 0
[cancelled] => 1
)
其實這是第一個匹配的記錄。你能幫我獲取所有匹配的記錄數組,因爲我在PHPMyadmin中?提前致謝。
'mysql_fetch_array()'返回結果集中的下一條記錄。您需要重複調用它,直到沒有其他記錄。 – eggyal
http://php.net/manual/en/mysqli-result.fetch-array.php – Schleis