当前位置:编程学习 > php >>

php mysql 无法读取特定记录总数怎么办?

<?php

$result = mysql_query( "SELECT count( * ) AS num_rows
FROM `catalog_product_entity_decimal` , `catalog_product_flat_1`
WHERE `catalog_product_entity_decimal`.attribute_id =99
AND `catalog_product_entity_decimal`.entity_id = `catalog_product_flat_1`.entity_id
AND name
IN (
SELECT name
FROM catalog_product_flat_1
WHERE name LIKE '%微星%'
)       " );
$row = mysql_fetch_object($result);
$total = $row->num_rows;

  echo "$total";

?>

这是一段获取特定记录总数的PHP代码,现在的情况是获取的总数为0 ,但是,在删除

AND name
IN (
SELECT name
FROM catalog_product_flat_1
WHERE name LIKE '%abc%'

这一段指定记录后,就可以正常获取记录总数,要说明的是这段sql代码是可以在数据库里正常查询的,只是插入PHP代码里后就不正常了,希望大家帮忙解决,不胜感激!

追问:这个我已经说过了,sql语句是可以在数据库里正常使用的,只是加到PHP里面的时候查不到!
答案:一个办法是在php程序中把sql语句输出来,然后,拷贝后在数据库中看看是否正常查询

SELECT name
FROM catalog_product_flat_1
WHERE name LIKE '%abc%'  先执行这个语句 再吧结果集取出来作为条件加到第一个select应该可以了
翻来覆去的看似乎没什么问题。能否共享一下你的部分数据库表出来,以便测试一下。

怀疑数据库编码与页面编码不一致,所以SQL中的中文进入mySQL查询时已经不是看到的样子了。

 

建议把此PHP更换成与数据库编码一致的文件格式。或者将数据库连接改为对应的编码。

 

详情请搜索“set names 'utf-8';”

上一个:PHP返回值出了点问题。。。
下一个:php中 怎么编写过滤词程序

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,