批改状态:合格
老师批语:非常棒, 不愧是老同学
1、连接数据库:
$pdo = new PDO($dsn, $username, $password);;
- DSN: 数据库类型:host=数据库的主机地址;dbname=默认的数据库名称;chart=… ;port= …
$dsn = 'mysql:host=localhost;dbname=phpedu';2、插入语句:
$sql = 'INSERT 表名 SET name=?, age=?,.... ';
3、查询语句:$sql = 'SELECT 字段列表 FROM 数据表名称 WHERE 查询条件 ';
4、更新语句:$sql = "UPDATE 表名 SET 字段=新值 WHERE 更新条件"
5、删除语句:$sql = "DELETE FROM 表名 WHERE 删除条件"
<?php// PDO 连接数据库use Exception;use PDO;$dsn = 'mysql:host=localhost;dbname=phpedu';$username = 'root';$password = 'root';try {// 连接数据库$pdo = new PDO($dsn, $username, $password);// var_dump($pdo);} catch (Exception $e) {die($e->getMessage());}
<?php// 插入数据// 1、连接数据库require 'connect.php';// 2. 操作数据表(CURD)// 插入语句: $sql = 'INSERT 表名 SET name=?, age=?,.... ';/*插入多条:INSERT INTO `staffs` (`id`, `msnv`, `name`, `hiredate`, `donvi`, `congviec`, `luongtong`, `luongthuc`)VALUES(`id`, `msnv`, `name`, `hiredate`, `donvi`, `congviec`, `luongtong`, `luongthuc`)......*/$sql = "INSERT `staffs` SET `msnv` = ?, `name` = ?, `hiredate` = ?, `donvi` = ?, `congviec` = ?, `luongtong` = ?, `luongthuc` = ?";$stmt = $pdo->prepare($sql);$data = ['TH041200', '阮文局 NGUYỄN VĂN CUỘC', 1439395200, '三分厂络筒运转甲班', '络筒挡车工', 13810926, 13153181];$stmt->execute($data);// 判断是否执行成功// $stmt->rowCount(): 返回写操作产生的受影响的记录数量if ($stmt->rowCount() >= 1) {echo '新增成功, 新增记录的主键是: ' . $pdo->lastInsertId();} else {echo '新增失败';print_r($stmt->errorInfo());}// 3. 关闭连接[可选]unset($pdo);
演示效果:

<?php// 数据表查询: 多条查询use PDO;// 1. 连接数据库require 'connect.php';// 2. 操作数据表(CURD)// 查询语句: $sql = 'SELECT 字段列表 FROM 数据表名称 WHERE 查询条件 '$sql = 'SELECT * FROM `staffs`';// 预处理对象$stmt:为了防止 SQL注入$stmt = $pdo->prepare($sql);// 预处理对象$stmt , 就是SQL语句对象// 使用预处理对象调用 execute()执行这条sql语句$stmt->execute();$staffs = $stmt->fetchAll(PDO::FETCH_ASSOC);// print_r($staffs);?><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>员工工资明细</title><style>table {border-collapse: collapse;border:1px solid black;text-align: center;}th {border:1px solid black;padding: 5px;}td {border:1px solid black;padding: 5px;}tr:first-of-type {background-color:#eee;color: coral;}</style></head><body><h4>员工工资明细</h4><table><tr><th>STT</th><th>工号</th><th>姓名</th><th>入职日期</th><th>部门</th><th>岗位</th><th>应发</th><th>实领</th></tr><?php foreach ($staffs as $staff) : ?><tr><td><?php echo $staff['id']; ?></td><td><?php echo $staff['msnv']; ?></td><td><?php echo $staff['name']; ?></td><td><?php echo date('Y/m/d', $staff['hiredate']); ?></td><td><?php echo $staff['donvi']; ?></td><td><?php echo $staff['congviec']; ?></td><td><?php echo $staff['luongtong']; ?></td><td><?php echo $staff['luongthuc']; ?></td></tr><?php endforeach;?></table></body></html><?php// 3. 关闭连接[可选]// $pdo = null;unset($pdo);?>
演示效果:

<?php// 数据表更新操作use PDO;// 1. 连接数据库require 'connect.php';// 2. 操作数据表(CURD)// 更新语句:$sql = "UPDATE 表名 SET 字段=新值 WHERE 更新条件"$sql = "UPDATE `staffs` SET `donvi` = ? WHERE `id`= ?";$stmt = $pdo->prepare($sql);$stmt->execute(['三分厂前纺运转丙班', 2]);// echo $sql;die;// 判断是否执行成功// $stmt->rowCount(): 返回写操作产生的受影响的记录数量if ($stmt->rowCount() >= 1) {echo '更新成功';} else {echo '没有记录被更新';print_r($stmt->errorInfo());}// 3. 关闭连接[可选]unset($pdo);
演示效果:

<?php// 数据表删除操作use PDO;// 1. 连接数据库require 'connect.php';// 2. 操作数据表(CURD)// 删除语句:$sql = "DELETE FROM 表名 WHERE 删除条件"$sql = "DELETE FROM `staffs` WHERE `id`=:id";$stmt = $pdo->prepare($sql);$stmt->execute(['id'=>12]);// 判断是否执行成功// $stmt->rowCount(): 返回写操作产生的受影响的记录数量if ($stmt->rowCount() === 1) {echo '删除成功';}// 3. 关闭连接[可选]unset($pdo);
演示效果:

重点掌握sql语句和PDO预处理方法,sql语句一定要做到倒背如流。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号