2011-05-03 76 views
1

我有一個奇怪的問題,我運行下面的SQL語句:SQL不返回任何記錄

SELECT * FROM tbl_statement_items; 

SELECT * FROM `tbl_statement_items`; 

表「tbl_statement_items」包含28條記錄,但是當我運行其上方的命令顯示0結果。

但是,當我運行它通過phpmyadmin它顯示所有記錄:(它附加一個限制)。

SELECT * FROM `tbl_statement_items` WHERE 1 LIMIT 0 , 30 

我失去了簡單的東西在這裏還是有其他人的經驗?

在此先感謝。

+0

您是直接查詢mysql還是通過PHP中的'mysql_query()'等語言方法查詢?如果以後是真的,我可以看到一個PHP代碼片段嗎? – 65Fbef05 2011-05-03 14:08:26

+0

您第一次如何運行該聲明?你確定你正在查詢正確的數據庫嗎?嘗試database.tablename語法。 – 2011-05-03 14:08:33

+0

根據我對類似案例的經驗,99%的時間只是查詢錯誤的數據庫副本。 – 2011-05-03 14:09:44

回答

1

因爲這個問題很可能會在你所查詢的數據的方法,確保以下的(這些例子適用於PHP):

// Your connection to the database is properly set up 
$con = mysql_connect($hostname, $username, $password) or exit; 
mysql_select_db($dbName, $con); 

// You are storing your query in a variable to be processed 
$result = mysql_query('SELECT * FROM tbl_statement_items'); 

// And you are using the appropriate functions to extract your content 
while ($resultArray = mysql_fetch_assoc($result)) { 
    foreach ($resultArray as $record) { 
     // Yada yada yada... 
    } 
} 

當然這不是無所不包,你的問題可能做一些其他的事情,但爲什麼不從雙重檢查基本面開始,對吧?

+0

@ 65Fbef05:謝謝,我們使用PDO,atm,我們只是通過navicat和phpmyadmin運行查詢,所以我們知道預期的行爲。 – 2011-05-03 14:23:19

+0

所以複雜的是Navicat沒有返回任何記錄與您的查詢? – 65Fbef05 2011-05-03 14:29:10

+0

@ 65Fbef05:是的,這是正確的,我們從來沒有與Navicat之前有任何問題。 – 2011-05-03 14:45:22