批改状态:合格
老师批语:
<?phpreturn['type'=>'mysql','host'=>'localhost','dbname'=>'user','port'=>'3306','username'=>'root','password'=>'root','charset'=>'utf8'];
<?phpnamespace pdo_edu;use Exception;use PDO;$dbConfig = require 'database.php';extract($dbConfig);$dsn = $type. ':host='. $host.';dbname='.$dbname;try {$db = new PDO($dsn,$username,$password);} catch (Exception $e) {die ("Error!: " . $e->getMessage() . "<br/>");}
增删改查
1 增 INSERT

<?php//1.命名参数+关联数组 语义化较强namespace pdo_edu;use PDO;//1.引入数据库配置文件require 'config/catenate.php';//2.执行数据库操作语句// 增删改查// 1.增 INSERT// 创建执行语句// INSERT 表名 SET 字段名=内容$sql = "INSERT `user_list` SET `name`=:usname, `email` = :email, `age`= :age ";// 预处理语句$stmt = $db->prepare($sql);//插入的数据:bindParam使用引用绑定限制类型$stmt->bindParam(':usname', $name, PDO::PARAM_STR);$stmt->bindParam(':email', $email, PDO::PARAM_STR);$stmt->bindParam(':age', $age, PDO::PARAM_INT);list($name,$email,$age)=['小白','xiaobai@qq.com',25];// 执行数据if($stmt->execute()){//lastInsertId():插入成功的IDecho '新增成功, id='.$db->lastInsertId() . '<br>';}else{echo '执行失败';//打印错误信息print_r($stmt->errorInfo());}//3.关闭数据库链接$db = null;
删除 DELETE

<?php//1.命名参数+关联数组 语义化较强namespace pdo_edu;use PDO;//1.引入数据库配置文件require 'config/catenate.php';//2.执行数据库操作语句// 增删改查// 3.删 DELETE// 创建执行语句// DELETE 表名 SET 字段名=内容$sql = "DELETE FROM `user_list` where `id`=:id ";// 预处理语句$stmt = $db->prepare($sql);//插入的数据$data = ['id'=>3];// 执行数据if($stmt->execute($data)){//rowCount():执行成功的记录数量if($stmt->rowCount()){echo '删除成功, 有'.$stmt->rowCount() . '已被删除<br>';}else{echo '没有记录被删除';}}else{echo '执行失败';//打印错误信息print_r($stmt->errorInfo());}//3.关闭数据库链接$db = null;

<?phpnamespace pdo_edu;use PDO;//1.引入数据库配置文件require 'config/catenate.php';//2.执行数据库操作语句// 增删改查// 2.改 UPDATE// 创建执行语句// UPDATE 表名 SET 字段名=内容 where 条件内容$sql = "UPDATE `user_list` SET `name`=:name, `email` = :email where `id` = :id";// 预处理语句$stmt = $db->prepare($sql);//更新的数据$data = ['name'=>'小白','email'=>'xiaobai@qq.com','id'=>7];if(stripos($sql,'where') === false){exit('禁止非法操作无条件更新');}// 执行数据if($stmt->execute($data)){//rowCount():执行成功的记录数量if($stmt->rowCount()>0){echo '修改成功, 有'.$stmt->rowCount() . '条记录被更新<br>';}else{echo '没有记录被更新';}}else{echo '执行失败';//打印错误信息print_r($stmt->errorInfo());}//3.关闭数据库链接$db = null;

<?php//1.fetchAll+foreachnamespace pdo_edu;use PDO;//1.引入数据库配置文件require 'config/catenate.php';//2.执行数据库操作语句// 增删改查// 3.查 SELECT// 创建执行语句// SELECT 字段名 FROM 表明 where$sql = "SELECT `id`,`name`,`age`,`email`FROM `user_list` WHERE `age`>20";// 预处理语句$stmt = $db->prepare($sql);// 执行数据// print_r($arr);if($stmt->execute()){$arr = $stmt->fetchAll(PDO::FETCH_ASSOC);// print_r($arr);foreach($arr as $v){printf('<pre>%s</pre>',print_r($v,true));}}else{echo '执行失败';//打印错误信息print_r($stmt->errorInfo());}//3.关闭数据库链接$db = null;//-------///第二种方式<?php//1.fetch+whilenamespace pdo_edu;use PDO;//1.引入数据库配置文件require 'config/catenate.php';//2.执行数据库操作语句// 增删改查// 3.查 SELECT// 创建执行语句// SELECT 字段名 FROM 表明 where$sql = "SELECT `id`,`name`FROM `user_list` WHERE `id`>0";// 预处理语句$stmt = $db->prepare($sql);// 执行数据// print_r($arr);if($stmt->execute()){while($arr = $stmt->fetch(PDO::FETCH_ASSOC)){print_r($arr);}}else{echo '执行失败';//打印错误信息print_r($stmt->errorInfo());}//3.关闭数据库链接$db = null;
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号