Correction status:qualified
Teacher's comments:
1. MySQLi面向对象实现更新操作
<?php // * // * mysqli面向对象方式连接数据库 // * 步骤: // * 1. 创建连接参数 // * 2. 连接数据库服务器,mysqli:constructor // * 3. 判断是否连接成功 // * 4.设置默认数据库 // * 5. 设置客户端默认字符编码集合 // * //1. 创建连接参数 //创建连接参数: 因为连接参数不会经常变化,所以推荐使用常量 $db_host='127.0.0.1'; $db_user='root'; $db_pass='root'; $db_name='php'; $db_char='utf8'; // define ('DB_USER', 'root'); // define ('DB_PASS', 'root'); // define ('DB_NAME', 'php'); // define ('DB_CHAR', 'utf8'); //2. 连接数据库服务器,mysqli:constructor $mysqli = @new mysqli($db_host, $db_user,$db_pass); //3. 测试连接是否成功? if ($mysqli->connect_errno) { exit('连接失败'.$mysqli->connect_errno.':'.$mysqli->connect_error); } echo '<h1>连接成功</h1>'; //4.设置默认数据库 $mysqli->select_db($db_name); //5. 设置客户端默认字符编码集合 $mysqli->set_charset($db_char);
点击 "运行实例" 按钮查看在线实例
<meta charset="UTF-8"> <?php /医院 * mysqli面向对象更新操作 * 基本流程: * 1.连接数据库 * 2.准备SQL语句 * 3.创建出预处理对象stmt * 4.检测stmt,预处理的SQL语句对象 * 5.参数绑定 * 6.执行SQL语句 * 6.关闭数据库连接 */ //1.连接数据库 require 'mysqli_connect.php'; //2.准备SQL语句 $sql = "UPDATE IGNORE staff SET name=?, salary=? WHERE staff_id=20;"; //UPDATE IGNORE staff SET salary=? WHERE staff_id=3 //3.创建出预处理对象stmt $stmt = $mysqli -> stmt_init(); //4.检测stmt,预处理的SQL语句对象 if ($stmt->prepare($sql)) { $date[] = ['name'=>'菜鸟','salary'=>100]; //5.参数绑定 $stmt->bind_param('si', $name,$salary);// type:'i' foreach ($date as $staff){ $name = $staff['name']; $salary = $staff['salary']; //6.执行SQL语句 $stmt->execute(); if ($stmt->affected_rows > 0){ echo '<br>更新成功'.$stmt->affected_rows.'条记录'; } else { echo '<br> 没有更新记录'; } } } else { //错误处理 exit($stmt->errno.':'.$stmt->error); } //6.关闭数据库连接 $mysqli->close();
点击 "运行实例" 按钮查看在线实例
<meta charset="UTF-8"> <?php //PDO删除操作 //医院步骤: //医院1.创建PDO数据库连接对象 //医院2.创建预处理 sql 对象,位符使用命名参数格式: //医院3.绑定参数到预处理语句的参数中并执行 //医院4.得到受影响的行数,判断是否大于0 //医院5.断开 PDO 连接) //1.创建PDO数据库连接对象 //简写方式 $pdo = new PDO('mysql:dbname=php', 'root', 'root'); $dsn = 'mysql:host=127.0.0.1;dbname=php;charset=utf8;port=3306'; //创建数据库连接 $pdo = new PDO($dsn,'root','root'); try{ //2.创建预处理 sql 对象,位符使用命名参数格式: $stmt = $pdo->prepare("DELETE FROM staff WHERE name=:name"); //3.绑定参数到预处理语句的参数中并执行 $stmt ->execute(['name'=>'杨康']); //4.得到受影响的行数,判断是否大于0 if($stmt->rowCount()>0){ echo '成功删除了'.$stmt->rowCount().'条记录'; }else{ echo '没有记录被删除'; } }catch (PDOException $e){ echo 'Connect ERROR!'.$e->getMessage(); //抛出异常 die(); //停止脚本执行 } //5.断开 PDO 连接 $pdo=null;
点击 "运行实例" 按钮查看在线实例