Correction status:qualified
Teacher's comments:
配置:
<?php /** * 数据库参数 */ //1.创建连接参数 define('DB_HOST', '127.0.0.1'); //mac/Linux: localhost define('DB_USER', 'root'); define('DB_PASS', 'root'); define('DB_NAME', 'php'); define('DB_CHAR', 'utf8'); // 没有横杠
点击 "运行实例" 按钮查看在线实例
数据库连接:
<?php /** * 创建数据库连接 */ //1.创建连接参数 require 'mysqli_config.php'; //2.调用连接函数返回连接对象 $db = mysqli_connect(DB_HOST, DB_USER, DB_PASS); //3.判断是否连接成功 if (mysqli_connect_errno($db)) { exit('连接失败'.mysqli_connect_error($db)); } //echo '<h1>连接成功</h1>'; //4.选择默认的数据库 mysqli_select_db($db,DB_NAME); //5.设置客户端默认字符编码集 mysqli_set_charset($db,DB_CHAR);
点击 "运行实例" 按钮查看在线实例
数据库查询:
<?php /** * mysqli_query($db, $sql) * 1. select:查询,读操作,返回就是一个结果集 * 2. insert/update/delete:写操作,返回是受影响的记录数量 * 查询:广义:查询、新增、更新、删除 (增删改查CURD) * 狭义:查询 select,读操作 */ //1.连接数据库 require 'mysqli_connect.php'; //2.执行查询 $sql = "SELECT * FROM staff;"; if ($res = mysqli_query($db, $sql)) { while($row = mysqli_fetch_array($res, MYSQLI_ASSOC)) { var_export($row); print '<hr>'; } } else { exit('查询失败'.mysqli_errno($db).':'.mysqli_error($db)); } //3.释放结果集(仅针对查询操作,读操作) mysqli_free_result($res); //4.关闭数据库的连接 mysqli_close($db);
点击 "运行实例" 按钮查看在线实例
多个查询:
<?php /** * 多语句执行和多结果集处理技术 */ //1.连接数据库 require 'mysqli_connect.php'; //2.准备多条查询语句,每条语句之间必须要用字符串进行连接 //任务1:按性别统计工资的平均数 $sql = "SELECT sex,ROUND(AVG(salary),2) FROM staff GROUP BY sex;"; //任务2:查询年龄大于50的员工信息 $sql .= "SELECT name,age FROM staff WHERE age>50;"; //任务3:查询工资小于5000的员工信息 $sql .= "SELECT name,salary FROM staff WHERE salary<5000;"; //3.执行多条select语句的查询:mysqli_multi_query(), mysqli_query() $num = 1; //统计查询结果集的数量 if (mysqli_multi_query($db, $sql)) { echo '第'.$num.'个结果子集中的数据是:<br>'; //如果获取到了结果子集,就直接遍历它 while ($result = mysqli_store_result($db)) { if (mysqli_num_rows($result) > 0) { while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { print_r($row); echo '<br>'; } //释放当前结果子集 mysqli_free_result($result); } else { echo '当前结果集中没有满足条件的数据啦'; } //判断当前的结果集中,是否还有结果子集 if (mysqli_more_results($db)) { $num++; echo '<hr>第'.$num.'个结果子集中的数据是:<br>'; //将结果集指针下移到下一个结果子集 mysqli_next_result($db); } } } else { exit(mysqli_errno($db).':'.mysqli_error($db)); } //4.关闭数据库的连接 mysqli_close($db);
点击 "运行实例" 按钮查看在线实例
总结:
将配置单独写在一个文件中,方便日后修改迁移
数据库操作基本步骤:
1.连接数据库
2.准备sql语句
3.执行语句
4.关闭数据库连接
3.记得释放结果集
mysqli_free_result($result);