2011-05-03 74 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