为什么php中sql语句查询数据库输出的全是array?
php代码如下:$res=$mysql->getData("selectsid,name,subname,thumbfromcdb_subjectwherecatid=2...
php代码如下:
$res=$mysql->getData("select sid,name,subname,thumb
from cdb_subject where catid=26
order by sid desc
limit 0,5");
整句意图是调取catid为26下的所有sid,name,subname和thumb,组成数组赋值给$res。
这句SQL语句是没问题的,在MyphpAdmin可以顺利输出数据;但放到网页里就是不行。结果输出到txt里显示arrayarrayarrayarrayarray,5个无效的array。
数据库字符集是gbk_chinese_ci的,PHP页面是utf-8的,但应该不是这个原因吧,其他位置输出很正常。 展开
$res=$mysql->getData("select sid,name,subname,thumb
from cdb_subject where catid=26
order by sid desc
limit 0,5");
整句意图是调取catid为26下的所有sid,name,subname和thumb,组成数组赋值给$res。
这句SQL语句是没问题的,在MyphpAdmin可以顺利输出数据;但放到网页里就是不行。结果输出到txt里显示arrayarrayarrayarrayarray,5个无效的array。
数据库字符集是gbk_chinese_ci的,PHP页面是utf-8的,但应该不是这个原因吧,其他位置输出很正常。 展开
5个回答
展开全部
$res是二维数组,从mysql中取出的数据都会以数组的形式返回的,你可以var_dump($res),想在网页中输出取出的数据需要循环遍历:
<?php foreach($res as $value){
echo $value['field'];//field为你表中的字段名,比如user表中有name字段,那么field就为name,有几个就写几个,不想显示某个字段就不用写
}
?>
追问
我下面的确是foreach,但循环的结果为空,所以就想看看SQL输出这个地方正不正常,有好的方法吗?var_dump到文本里还是array
追答
在第一行加上
ini_set('display_errors', 1);
error_reporting(E_ALL);
运行一下看是什么错误提示,我估计是你查询数据的时候出错了并且你屏蔽了错误输出.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我通过一个页面让用户提交了12个多选列表,
获取出来就是12个数组,
然后根据这12个数组里的内容进行数据库搜索,
可是发现好像没有办法把这12个数组里的内容一项一项提取出来,然后写sql查询语句。。
比如:
$a = array(a,b,c,d);
$b = array(1,2,3,4);
$c = array(I,II,III,IV);
然后我想select * from 表名 where name=a AND name=b AND name=c AND name=d AND name=1 AND name=2..... AND name=IV
不知道如何可以实现呢?用foreach循环的话,只怕每次都是当前元素的值,这样查出来是每一个当前元素可以搜索到的结果。。。
但是我想查询的是所有数组里所有元素存在的条件下,最后的结果。。
求助各位高人!
获取出来就是12个数组,
然后根据这12个数组里的内容进行数据库搜索,
可是发现好像没有办法把这12个数组里的内容一项一项提取出来,然后写sql查询语句。。
比如:
$a = array(a,b,c,d);
$b = array(1,2,3,4);
$c = array(I,II,III,IV);
然后我想select * from 表名 where name=a AND name=b AND name=c AND name=d AND name=1 AND name=2..... AND name=IV
不知道如何可以实现呢?用foreach循环的话,只怕每次都是当前元素的值,这样查出来是每一个当前元素可以搜索到的结果。。。
但是我想查询的是所有数组里所有元素存在的条件下,最后的结果。。
求助各位高人!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你取出来的是数组,可能需要再转换一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询