我有一个在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而不是这个类还没有。谢谢!
答案 0 :(得分:2)
而不是无用的'darn it'
和有害的die()
使其有用且友好
$res = mysql_query($productlist) or trigger_error(mysql_error());
所以,你被告知发生了什么错误。
另请注意,此代码不应返回任何行,只能返回特殊类型的变量 - 一个mysql资源。获取必须遍历资源的行,如手册页上的示例所示
如果它仍然没有返回任何行 - 那么数据库中没有符合您标准的行
答案 1 :(得分: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";
是你想要的