<?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();
<?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 才可以绑定参数