0

我有一个在 phpMyAdmin 中工作并适当返回行的查询:

"select item_number, general_category from products where key_word_i = 'Floor looms' order by item_number"

在我的 php 代码中,它不会失败,但是不会返回任何行:

$productlist="select item_number, general_category from products where key_word_i = 'Floor looms' order by item_number;";
$productrows = mysql_query($productlist) or die("darn it");

如果将查询修改为仅搜索“key_word_i = 'looms'”,则它在两个地方都有效。为了增加混淆,我有我们产品数据库的本地副本和生产副本;在所有情况下,有问题的原始查询在生产数据库中都能正常工作。

那么我的本地数据库有什么问题呢?当然希望这是一件简单得愚蠢的事情......并为遗留问题道歉 - 我正在转向 PDO,只是这门课还没有。谢谢!

4

2 回答 2

2

而不是无用'darn it'和有害die(),使其有用和友好

$res = mysql_query($productlist) or trigger_error(mysql_error());

所以,你被告知发生了什么错误。

另请注意,此代码不应该返回任何行,而只是返回一个特殊类型的变量 - 一个 mysql 资源。要获取行,您必须遍历资源,如手册页上的示例所示

如果它仍然不返回任何行 - 那么数据库中没有符合您的条件的行

于 2013-05-29T15:43:01.447 回答
2

我很确定是这样的:

"select item_number, general_category  
from products where key_word_i = 'Floor looms' order by item_number;"  

请注意;查询中嵌套了分号 ( )。

"select item_number, general_category  
   from products where key_word_i = 'Floor looms' order by item_number";

是你想要的

于 2013-05-29T15:44:21.763 回答