2010-02-25 97 views
0

当我在php脚本中执行以下代码时。结果集总是空的。但是,当我在mysql控制台或phpmyadmin中执行相同的查询时,它在结果集中正确显示了18行。这里可能会出现什么问题。即使查询有效,mysql_query也会返回空结果集

$result_set = mysql_query("SELECT * FROM categories WHERE 1 ", $this->database_handle); 

var_dump($this->database_handle); 
var_dump($result_set); 
var_dump(mysql_num_rows($result_set)); 

- 输出

resource(42) of type (mysql link) 
resource(48) of type (mysql result) 
int(0) bool(false) 

然而,当我尝试将数据插入到这个表中,插入是完美无瑕的。

正如一些我已经尝试过多种组合以往的回应的建议一样

$result_set = mysql_query("SELECT * FROM categories WHERE 1=1 ", $this->database_handle); 
$result_set = mysql_query("SELECT * FROM categories", $this->database_handle); 
$result_set = mysql_query("select category_id, name from `categories` where `name` like 'cat-1'", $this->database_handle); 
$result_set = mysql_query("SELECT category_id,name FROM categories WHERE 1 ", $this->database_handle); 

-

structure of table 

Field   Type   Null Default Comments 
category_id int(11) No  
name    varchar(255) No    

任何帮助深表感谢。

+0

你设置一个默认的数据库,当你打开连接?这会使SELECT失败,但我不知道INSERT为什么会起作用。 – staticsan 2010-02-25 05:30:17

+0

运行脚本时,查询日志中出现了什么? – Martin 2010-02-25 07:06:44

回答

0

问题是因为一个“\ n'in这让我投入,因为我想用这两个查询相同的字符串,以及为之倾倒的查询字符串到屏幕上。

只要我从字符串中删除\ n字符,它就开始正常工作。

虽然有趣的部分,是在这种情况下php mysql库的表现真的很奇怪。没有警告或错误。

问候 尼廷

0

查询更改为

"SELECT * FROM categories WHERE 1=1 " 
+1

或更好的是,'SELECT * FROM categories' – 2010-02-25 04:38:52

+0

嗨! 我已经尝试所有这些查询,他们只是不工作。事实上,当我使用从类别选择计数(*),结果集有1行的值为0. 当我在mysql命令提示符上执行相同的查询,它给了我正确的结果:( – user210504 2010-02-25 04:52:31

相关问题