pdo增删改

原创 2019-01-13 18:03:36 290
摘要:新增操作<?php /**  * PDO 添加操作  * rowCound()方法:返回受影响的记录数量  * errorInfo()方法:返回出错信息(数组格式)  */ //链接数据库 $pdo = new PDO('mysql:host=localhost;dbnam

新增操作

<?php
/**
 * PDO 添加操作
 * rowCound()方法:返回受影响的记录数量
 * errorInfo()方法:返回出错信息(数组格式)
 */

//链接数据库
$pdo = new PDO('mysql:host=localhost;dbname=php_edu','root','root');

//创建sql语句
$sql = "INSERT INTO `user` (`name`,`email`,`password`,`status`,`create_time`) VALUES(:name,:email,:password,:status,:create_time)";

//验证SQL语句 并创建成预处理对象

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


//执行添加操作

// 参数绑定
$name = '张无忌';
$email = 'zwj@qq.com';
$password = sha1('123445');
$status = 1;
$create_time = time(); //获取当前时间戳

$stmt->bindParam(':name',$name,PDO::PARAM_STR,20);
$stmt->bindParam(':email',$email,PDO::PARAM_STR,100);
$stmt->bindParam(':password',$password,PDO::PARAM_STR,40);
$stmt->bindParam(':status',$status,PDO::PARAM_INT);
$stmt->bindParam(':create_time',$create_time,PDO::PARAM_INT);

//执行SQL语句 成功返回true,失败返回false
if($stmt->execute()){
   echo ($stmt->rowCount()>0) ? '成功添加了'.$stmt->rowCount().'条记录' : '没有记录被添加';
}else{
    exit(print_r($stmt->errorInfo(),true));
}

更新操作

<?php
/**
 * PDO 添加操作
 * rowCound()方法:返回受影响的记录数量
 * errorInfo()方法:返回出错信息(数组格式)
 */

//链接数据库
 $pdo = new PDO('mysql:host=localhost;dbname=php_edu','root','root');

 //创建sql语句
$sql = "UPDATE `user` SET `email` = :email,`create_time` = :ctime WHERE `user_id` = :user_id";

//验证sql语句 创建预处理对象
$stmt = $pdo->prepare($sql);

//参数绑定
$id = 5;
$email = 'zm@qq.com';
$ctime = time();

$stmt->bindParam(':user_id',$id,PDO::PARAM_INT);
$stmt->bindParam(':email',$email,PDO::PARAM_STR,100);
$stmt->bindParam(':ctime',$ctime,PDO::PARAM_INT);
//执行
if($stmt->execute()){
  echo  ($stmt->rowCount()>0) ? '成功更新了'.$stmt->rowCount().'条记录' : ',没有数据被更新' ;
}else{
    exit(print_r($stmt->errorInfo(),true));
}

删除操作

<?php
/**
 *PDO删除操作
 * 删除必须基于条件,绝对禁止无条件删除
 * 如果想清空表中数据,使用TRUNCATE TABLE命令
 */

//链接数据库
$pdo = new PDO('mysql:host=localhost;dbname=php_edu','root','root');

//创建sql语句
$sql = "DELETE FROM `user` WHERE `user_id` = :user_id";

//创建预处理对象
$stmt = $pdo->prepare($sql);

//参数绑定
$id = 2;

$stmt->bindParam(':user_id',$id,PDO::PARAM_INT);

//执行删除操作

if($stmt->execute()){
    echo ($stmt->rowCount()>0) ? '成功删掉了'.$stmt->rowCount().'条记录' : '没有记录被删除' ;
}else{
    exit(print_r($stmt->errorInfo(),true));
}


批改老师:天蓬老师批改时间:2019-01-13 19:13:43
老师总结:代码写得非常的规范, 也很清楚, 特别是对错误的处理,以及条件判断,写得非常的棒if($stmt->execute()) , 这里改成: if(true ==$stmt->execute()), 效率会更高

发布手记

热门词条