为了账号安全,请及时绑定邮箱和手机立即绑定

PDO预处理对象参数绑定后,执行查询的结果竟然不是数据表的字段值,而成了字段名,请教一下,这是为什么?

PDO预处理对象参数绑定后,执行查询的结果竟然不是数据表的字段值,而成了字段名,请教一下,这是为什么?

PHP
明月笑刀无情 2019-03-12 05:35:25
//使用PDO对象连接数据库 try{ $pdo = new PDO("mysql:dbname=origin;host=localhost","root",""); } catch (PDOException $e){ die("数据库连接失败:".$e -> getMessage()); } //使用占位符准备SQL语句 $sql = "select ? , ? , ? from user where age = ? "; //进行预处理 $stmt = $pdo -> prepare($sql); //绑定参数 $stmt ->bindparam(1,$id); $stmt ->bindparam(2,$name); $stmt ->bindparam(3,$age); $stmt ->bindparam(4,$num); //给参数赋值 $id ='id'; $name = 'name'; $age ='age'; $num = 100; //执行 $stmt -> execute(); //处理结果集 while ($result = $stmt->fetch()){ var_dump($result); } /*程序运行结果: Array ( [id] => id [name] => name [age] => age ) Array ( [id] => id [name] => name [age] => age ) Array ( [id] => id [name] => name [age] => age ) Array ( [id] => id [name] => name [age] => age ) Array ( [id] => id [name] => name [age] => age ) Array ( [id] => id [name] => name [age] => age ) Array ( [id] => id [name] => name [age] => age ) Array ( [id] => id [name] => name [age] => age ) 结果竟然全部是字段名,而不是字段值,不知道是为什么? */
查看完整描述

2 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

我把sql写出来, 你就明白了.

select "id", "name", "age" from user where age = "100" 
查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 609 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信