首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL通过PHP:不返回某些行,我不知道为什么

MySQL通过PHP:不返回某些行,我不知道为什么
EN

Stack Overflow用户
提问于 2012-04-01 20:30:35
回答 2查看 112关注 0票数 1

这让我快疯了。我有一个Items表(PK item_id)。每个项都属于一个类别,因此表中的一个字段是category_id。下面是我用来调试这个的简化SQL:

SELECT * FROM Items WHERE category_id = '?'

我要替换?使用类别ID进行手动调试。表中有5项id的1,2,3,4,5。下面是它变得奇怪的地方。

  • 项目1的类别为17。在phpMyAdmin中,使用17作为参数返回项1。phpMyAdmin不返回所有其他项目,当使用它们的类别时: 15、13、10和14。如果我将数据库中的项目1更改为具有15、13、10或14的类别ID,则
  • 仍未显示在PHP.

H 113的结果中,如果我将数据库中的项目1更改为具有不同的类别ID,例如,它仍然不会在结果中显示。

  • 如果我将任何其他项更改为类别ID为17,则该项将不再显示(该项和项1都不会显示,即没有结果)。

这是怎么回事?第1项和第1项无论如何都不会出现,如果给出17的类别,其他类别就不会出现,否则会出现吗?它适用于phpMyAdmin,但不适用于PHP?

下面是测试这一点的PHP代码:

代码语言:javascript
复制
$query = mysql_query("SELECT * FROM `Items` WHERE `category_id` = '17'");

while ($r = mysql_fetch_assoc($query))
{
    echo $r['item_id'];
}

这是SHOW CREATE TABLE Items

代码语言:javascript
复制
 CREATE TABLE `Items` (
 `item_id` int(11) NOT NULL default '0',
 `description` varchar(250) default NULL,
 `name` varchar(25) default NULL,
 `category_id` int(11) default NULL,
 PRIMARY KEY  (`item_id`),
 UNIQUE KEY `item_id` (`item_id`),
 KEY `FK_Items_Categories` (`category_id`),
 CONSTRAINT `FK_Items_Categories` FOREIGN KEY (`category_id`) REFERENCES `Categories` (`category_id`),
) ENGINE=InnoDB DEFAULT CHARSET=latin1

和类别:

代码语言:javascript
复制
 CREATE TABLE `Categories` (
 `category_id` int(11) NOT NULL auto_increment,
 `parent_id` int(11) default NULL,
 `name` varchar(25) default NULL,
 PRIMARY KEY  (`category_id`),
 KEY `FK_Categories_Categories` (`parent_id`),
 CONSTRAINT `FK_Categories_Categories` FOREIGN KEY (`parent_id`) REFERENCES `Categories` (`category_id`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=latin1

注意:我没有创建数据库,所以如果有问题请告诉我。

EN

回答 2

Stack Overflow用户

发布于 2012-04-01 20:40:42

闻起来您的脚本和phpmyadmin不使用相同的数据库。重复检查是否有生产/开发数据库。

再次检查您正在运行的脚本,将die('im here');放在查询行的前面。

票数 1
EN

Stack Overflow用户

发布于 2012-04-01 20:44:46

试一试

代码语言:javascript
复制
$query = mysql_query("SELECT * FROM Items i, Categories c WHERE i.category_id = '17' AND i.category_id = c.category_id");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9968049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档