首页 > 后端开发 > php教程 > php通过query查询两个字段的信息就会无法找到网页

php通过query查询两个字段的信息就会无法找到网页

WBOY
发布: 2016-06-23 13:26:55
原创
1007 人浏览过

<?phpheader("Content-Type:text/html;charset=utf-8");try{$pdo=new pdo('mysql:host=localhost;dbname=lsj','root','lsjhxl123') or die("链接失败");;$pdo->setAttribute(PDO::ATTR_ERRMODE,2);$aa=$pdo->query("set names utf8");//$pdo->exec("insert into test values(2,'bb','cccccc')") or die("失败");$res=$pdo->query("select name from test where id = 11");//修改为查询 name,id两个字段,就错误}catch(PDOException $err){	echo $err->getMessage();}$result=$res->fetchall(PDO::FETCH_ASSOC);print_r($result);;?>
登录后复制


执行这个可以正确得到结果Array ( [0] => Array ( [name] => aa ) )。
但是如果select name from test where id = 11变成select name,id from test where id = 11,,就直接连不上localhost,无法找到网页了


回复讨论(解决方案)

你用ID查询的,还要显示ID.你这个id不是主键?

其它字段呢?只要两个任意字段都有问题?

你用ID查询的,还要显示ID.你这个id不是主键?





其它字段呢?只要两个任意字段都有问题?



没有设置主键,只有select × from test 也是查不出来;
任意单个字段都行,任任意多个字段都不行

试试重新设计下你的表结构。。。你的建表语句拉出来看看

你直接跑sql语句可以吗?不用通过php代码来执行

name id中间是不是误用中文标点了

你这个逗号不对呦

header("Content-Type:text/html;charset=utf-8");try{$pdo=new pdo('mysql:host=localhost;dbname=test','root','root') or die("链接失败");;$pdo->setAttribute(PDO::ATTR_ERRMODE,2);$aa=$pdo->query("set names gbk");//$pdo->exec("insert into test values(2,'bb','cccccc')") or die("失败"); $res=$pdo->query("select id, goodprice from price where id = 15");//修改为查询 name,id两个字段,就错误}catch(PDOException $err){    echo $err->getMessage();} $result=$res->fetchall(PDO::FETCH_ASSOC);print_r($result);
登录后复制
登录后复制


上面的代码你写的代码测试没有问题啊

1.先确定你数据库中是否有id字段。
2.使用这句试,估计你的写法混杂了中文符号。

$res=$pdo->query("select id,name from test where id=11");
登录后复制

header("Content-Type:text/html;charset=utf-8");try{$pdo=new pdo('mysql:host=localhost;dbname=test','root','root') or die("链接失败");;$pdo->setAttribute(PDO::ATTR_ERRMODE,2);$aa=$pdo->query("set names gbk");//$pdo->exec("insert into test values(2,'bb','cccccc')") or die("失败"); $res=$pdo->query("select id, goodprice from price where id = 15");//修改为查询 name,id两个字段,就错误}catch(PDOException $err){    echo $err->getMessage();} $result=$res->fetchall(PDO::FETCH_ASSOC);print_r($result);
登录后复制
登录后复制


上面的代码你写的代码测试没有问题啊



最后也不知道为什么,重装了Apache,php,mysql,最后奇葩的好了
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板