php中pdo新增操作

无忌哥哥
无忌哥哥 原创
2018-06-28 13:43:27 1874浏览

* PDO预处理主要使用PDOStatement对象

* 该对象是通过: $pdo->prepare()方法创建

* 读写操作都可以通过:$pdoStmt->execute()方法进行

* 预处理SQL语句句中的占位符除可以使用?号之外,还可以使用命名参数,例如:name:email...

* 下面新增数据为例进行演示,共分6步:

* 1.连接数据库,创建PDO对象

* 2.准备预处理SQL语句,占位符使用命名参数格式:

* 3.创建PDO预处理对象: PDOStatement的实例

* 4. 绑定参数到SQL语句对象,预预处理对象

* 5. 执行新增操作(PDO中,读写都用execute())

* 6. 销毁PDO对象(可选)

//1.连接数据库,创建PDO对象

$pdo = new PDO('mysql:dbname=php', 'root', 'root');

//2.准备预处理SQL语句,占位符使用命名参数格式:

$sql = "INSERT `user` SET `user_name`=:name, `email`=:email,`password`=sha1(:password)";

//3.创建PDO预处理对象

$stmt = $pdo->prepare($sql);

//查看生成的SQL语句,可以复制到SQL命令窗口中进行运行,确保语句正确性

echo $stmt->queryString;exit();

//4. 绑定参数到预处理对象

$data = ['name'=>'杨过','email'=>'yg@php.cn', 'password'=>'123'];
$stmt->bindParam(':name',$data['name'],PDO::PARAM_STR);
$stmt->bindParam(':email',$data['email'],PDO::PARAM_STR);
$stmt->bindParam(':password',$data['password'],PDO::PARAM_STR);

//5. 执行新增操作

if($stmt->execute()){
    //rowCount():返回上一个SQL语句影响的行数
    echo '<h3>成功添加了'.$stmt->rowCount().'条记录</h3>';
} else {
    echo '<h3>添加失败</h3>';
    print_r($stmt->errorInfo());
    exit();
}

//6.销毁PDO对象

$pdo = null;
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。