PHP PDO(新增\更新\删除)小案例

原创 2019-05-03 11:36:27 256
摘要:新增<?php $dsn = 'mysql:host=127.0.0.1;dbname=test'; $pdo = new PDO($dsn,'root','root'); $sql = "INSERT INTO `user`(`name`,`

新增

<?php
$dsn = 'mysql:host=127.0.0.1;dbname=test';
$pdo = new PDO($dsn,'root','root');

$sql = "INSERT INTO `user`(`name`,`email`,`password`,`status`,`create_time`)";
$sql .= "VALUES(:name,:email,:password,:status,:create_time)";
$stmt = $pdo->prepare($sql);
//var_dump($stmt);

# 参数绑定
$name = 'Monkey';
$email = 'Monkey@qq.com';
$password = sha1(123123);
$status = 0;
$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, 128);
$stmt->bindParam(':status', $status, PDO::PARAM_INT, 1);
$stmt->bindParam(':create_time', $create_time, PDO::PARAM_INT, 10);

if($stmt->execute()){
    echo $stmt->rowCount();
}else{
    exit(print_r($stmt->errorInfo(), true));
}

更新

<?php
$dsn = 'mysql:host=127.0.0.1;dbname=test';
$pdo = new PDO($dsn,'root','root');

$sql = "UPDATE `user` SET `email`=:email,`status`=:status,`create_time`=:create_time WHERE `id`=:id";
$stmt = $pdo->prepare($sql);
//var_dump($stmt);

# 参数绑定
$id = 3;
$email = 'Jhon@126.com';
$status = 0;
$create_time = time();

$stmt->bindParam(':id', $id, PDO::PARAM_INT, 11);
$stmt->bindParam(':email', $email, PDO::PARAM_STR, 100);
$stmt->bindParam(':status', $status, PDO::PARAM_INT, 1);
$stmt->bindParam(':create_time', $create_time, PDO::PARAM_INT, 10);

if($stmt->execute()){
    echo $stmt->rowCount();
}else{
    exit(print_r($stmt->errorInfo(), true));
}

删除

<?php
$dsn = 'mysql:host=127.0.0.1;dbname=test';
$pdo = new PDO($dsn,'root','root');

# 直接删除指定条件的记录,(删除后不能恢复 慎用)
$sql_1 = "DELETE FROM `user` WHERE `id`=:id";

# 软删除 通过delete字段来软删 0:表示未删除 1:表示已删除
$sql_2 = "UPDATE `user` SET `delete`=:num WHERE `id`=:id";
$stmt = $pdo->prepare($sql_2);
//var_dump($stmt);

# 参数绑定
$id = 2;
$num = 1;
$stmt->bindParam(':id', $id, PDO::PARAM_INT, 11);
$stmt->bindParam(':num', $num, PDO::PARAM_INT, 1);

if($stmt->execute()){
    echo '已删除 '.$stmt->rowCount().' 条记录';
}else{
    exit(print_r($stmt->errorInfo(), true));
}

user表结构.jpg

批改老师:查无此人批改时间:2019-05-05 09:32:54
老师总结:完成的不错。php最多的就是对数据库进行操作。继续加油。

发布手记

热门词条