PDO 使用prepare执行准备好的查询

<?php header("content-type:text/html; charset=gb2312"); ?>
<?php
$dsn = 'mysql:dbname=sck;host=127.0.0.1';
$user = 'root';
$password =  '8495162';
try {
$dbh = new PDO($dsn, $user, $password);
}
catch (PDOException $e){
echo '数据库连接失败:'.$e->getMessage();
exit();
}
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//设置后 通过该对象打开的任何空字符串都将被转换为NULL
$dbh->query("set names 'gb2312'"); //设置mysql编码


$query = "insert into S(学号,姓名) values (:xuehao , :xingming)";
$stm = $dbh->prepare($query);
$xuehao = '123';
$xingming = 'sck';
$stm->bindValue(":xuehao", $xuehao);
$stm->bindValue(":xingming", $xingming);
$stm->execute();

?>

        当时的错误原因很煞笔   不停的往数据库里存一个已经存在的主键  导致不停的报错 然后在这个点上坑了2个多小时   直到最后重新写了个表正确了以后才找到错误原因。

        细说PHP 那本书上  在对语句绑定参数是   写法:

$query = "insert into S(学号,姓名) values (:xuehao , :xingming)";
$stm = $dbh->prepare($query);
$stm->bindValue(":xuehao", $xuehao);
$stm->bindValue(":xingming", $xingming);
$xuehao = '123';
$xingming = 'sck';
$stm->execute();

当是这样写会报错  说使用到未绑定的变量  既bindvalue里面

查了一些资料后   应该是书上弄错了  应该先写变量  再写bindvalue 才可以绑定参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值