php通过query查询两个字段的信息就会无法找到网页
程序员文章站
2022-06-17 22:05:44
...
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,最后奇葩的好了
上一篇: 购物系统SESSION共享的解决方案
下一篇: php购物网站支付paypal使用方法