2013-06-19 132 views
1

我有一個似乎很愚蠢的問題,但嚴重的頭痛問你。我不是一個新的SQL,但不是太新。我編碼了許多sqls,但從未發現過這樣的問題。查詢可能導致phpmysql,但我無法從PHP獲取任何行。這裏是我的代碼:爲什麼我無法從mysql查詢中得到結果?

SELECT reb_dis, reb_title, reb_detail 
FROM rate_eb WHERE reb_abook <= '77' 
AND ABS(DATEDIFF('2013-09-09','2013-09-05'))>=reb_mn 
AND '2013-09-05' BETWEEN reb_date1 AND reb_date2 
AND '2013-09-09' BETWEEN reb_date1 
AND reb_date2 

所以這就是我寫我的PHP:

$sql_eb="SELECT reb_dis, reb_title, reb_detail 
FROM rate_eb WHERE reb_abook <= '77' 
AND ABS(DATEDIFF('2013-09-09','2013-09-05'))>=reb_mn 
AND '2013-09-05' BETWEEN reb_date1 AND reb_date2 
AND '2013-09-09' BETWEEN reb_date1 AND reb_date2"; 
$result_eb=mysql_query($sql_eb); 
$rec_eb=mysql_fetch_array($result_eb); 

但我不能得到任何來自DB值。無論我嘗試過:

<? 
echo $rec_eb[reb_dis]; 
echo $rec_eb[reb_title]; 
echo $rec_eb[reb_detail]; 
?> 

以上都沒有顯示數據。雖然我可以從其他更簡單的查詢中獲取數據。所以我可以請求你們解釋爲什麼這行查詢不顯示任何內容?還有如何獲取數據。

問候,

+2

'echo $ rec_eb ['reb_dis'];'?順便說一句,'mysql'已被棄用,使用PDO或'mysqli'。如果缺少引號只是拼寫錯誤在mysql服務器上直接運行查詢,並查看它是否返回結果。使用這樣的短標籤也是個不好的主意,它可能會與'xml'混淆。 – Leri

+4

'mysql_query($ sql_eb)或死(mysql_error());'? – Rikesh

+2

您正在使用[an **過時的**數據庫API](http://stackoverflow.com/q/12859942/19068)並應使用[現代替換](http://php.net/manual/en/ mysqlinfo.api.choosing.php)。 – Quentin

回答

2

你必須重複使用while循環,並把索引中的'

while($rec_eb=mysql_fetch_array($result_eb)) { 
    echo $rec_eb['reb_dis']; 
    echo $rec_eb['reb_title']; 
    echo $rec_eb['reb_detail']; 
} 

也改變<?<?php結果。

+0

Yogesh,它不工作:( – Wilf

+3

@Wilf什麼都不行?你檢查過數據庫連接嗎?還可以用'print_r($ rec_eb)'來檢查它是否包含行。 –

相關問題