pdo插入不了是什么原因?也没有报错

pjy928 2015-04-25 05:02:52
<?php
$db_host="localhost";
$db_name="project1";
$db_user="root";
$db_password="";

$dsn="mysql:host=$db_host;db_name=$db_name";
$db=new PDO($dsn,$db_user,$db_password);
var_dump($db);
$sql="SELECT * from `user`"
."WHERE 'gender'=?";
$sth=$db->prepare($sql);
var_dump($sth);
$return=$sth->execute(array('male'));
?>


代码是这样的,运行后显示
object(PDO)[1]
object(PDOStatement)[2]
public 'queryString' => string 'SELECT * from 'user'WHERE 'gender'=?' (length=36)
boolean false
...全文
261 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2015-04-27
  • 打赏
  • 举报
回复
$sql="SELECT * from `user`" ."WHERE 'gender'=?"; 你的不是查询吗,插入使用 insert into 命令。
一起混吧 2015-04-26
  • 打赏
  • 举报
回复
print_r($sth->errorInfo()); 就能得到 Array ( [0] => 00000 [1] => 1046 [2] => No database selected ) 说你没选择数据库,仔细一看,是你 $dsn="mysql:host=$db_host;db_name=$db_name"; 这句写错了,应该改为: $dsn="mysql:host=$db_host;dbname=$db_name"; 还有SQL也有错误,更正为: $sql="SELECT * from `user`" ." WHERE `gender`=?";
xuzuning 2015-04-25
  • 打赏
  • 举报
回复
查看错误信息用 print_r($db->errorInfo); 或 print_r($sth->errorInfo);
pjy928 2015-04-25
  • 打赏
  • 举报
回复
@xuzuning 错了错了,是查询不了,这个语法有错误么?
pjy928 2015-04-25
  • 打赏
  • 举报
回复
@A9925 string 'SELECT * from 'user'WHERE 'gender'=?' (length=36) 显示的是这个
xuzuning 2015-04-25
  • 打赏
  • 举报
回复
你执行的是查询指令,当然不会插入
  • 打赏
  • 举报
回复
var_dump($sql); 看看

21,873

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧