SQL适用于phpMyAdmin但不适用于php

时间:2013-05-29 15:41:44

标签: php mysql phpmyadmin

我有一个在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而不是这个类还没有。谢谢!

2 个答案:

答案 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";

是你想要的