2016-06-09 87 views
0

我想從數據庫中輸出從應用程序發送的總的短信。php mysql select語句;沒有得到輸出

這樣:date 2016-06-09 | total sent 4 | delivered 3 | failed 2|

| date  | total_sent | delivered | failed | 
+------------+------------+-----------+--------+ 
| 2016-06-09 |   4 |   3 |  1 | 
+------------+------------+-----------+--------+ 

但是我在PHP代碼不起作用。有人請指引我...

$sql = mysql_query("SELECT DATE(time_sent) AS date,COUNT(*) as total_sent,SUM(status = 'Success') as delivered,SUM(status = 'failed') AS failed FROM smsdb GROUP BY DATE(time_sent) "); 

$result1 = mysqli_query($con, $sql); 
$resultarr = mysqli_fetch_assoc($result1); 
$time_sent = $resultarr['time_sent']; 


echo $time_sent; 
+1

http://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php/14067623#14067623 – CD001

+0

我編輯了這個問題。請看。 @ CD001 –

+0

你試過在mysql應用程序中運行查詢嗎?例如,phpmyadmin –

回答

1

將$ SQL變量的字符串: $ SQL =「SELECT DATE(time_sent)日期,COUNT(*)作爲total_sent,SUM(狀態= '成功')作爲交付,SUM(status ='失敗')AS失敗從smsdb GROUP BY DATE(time_sent)「;

爲mysqli_query第二個參數必須是一個字符串:http://php.net/manual/ro/mysqli.query.php

編輯

你想time_sent的價值,但在$ resultarr你沒有那個鍵你給它改名到date在你的mysql查詢中:DATE(time_sent)AS date。你的數組的鍵是:'日期','total_sent','交付'和'失敗'。試試這個:$ time_sent = $ resultarr ['date'];

+0

感謝您的幫助。然而,select語句按需要工作,我從命令行檢查它。 $ result1 = mysqli_query($ con,$ sql); $ resultarr = mysqli_fetch_assoc($ result1); $ time_sent = $ resultarr ['time_sent']; echo $ time_sent;是我不明白如何框架的部分。謝謝 –

+0

我爲你編輯了我的答案:) – mihaela

+0

你好。當我嘗試$ time_sent = $ resultarr ['date']; .....我只收到日期,沒有其他字段,如總數__交付___或失敗___。很好... –