Correction status:qualified
Teacher's comments:
总结: mysqli 连接数据库的方法使用,单个查询的常见写法如下,需要熟悉,常见数据库查询函数的掌握
$sql = "SELECT name,salary FROM staff";
if($result = mysqli_query($db,$sql)){
if($res = mysqli_num_rows($result)>0){
while($row = mysqli_fetch_assoc($result)){
var_export(print_r($row),true);
}
}
}else{
exit(mysqli_errno($db).':'.mysqli_error($db));
}
mysqli_free_result($result);
实例 <?php /* 配置数据库连接参数 */header("Content-Type:text/html;charset=utf-8"); define('DB_HOST','localhost'); define('DB_USER','root'); define('DB_PASS',''); define('DB_NAME','php'); define('DB_CHAR','utf8'); $db = mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME); if(mysqli_connect_errno($db)){ exit('连接失败'.mysqli_connect_error($db)); } mysqli_select_db($db,DB_NAME); mysqli_set_charset($db,DB_CHAR); echo'连接成功'; // //4.关闭连接$sql = "INSERT staff SET name='灭绝师太',sex=1, age=58, salary=9999"; // //3.执行查询:成功返回true,失败返回false // //$res = mysqli_query($db, $sql); // //var_dump($res);exit; // if (mysqli_query($db, $sql)) { // if (mysqli_affected_rows($db) > 0) { // //返回受影响的记录数与新增主键id // echo '成功的新增了'.mysqli_affected_rows($db).'条记录,<br>新记录的主键id是:'.mysqli_insert_id($db); // } else { // echo '没有记录被新增'; // } // } else { //项目上线后,不应该将出错信息显示出来,否则会暴露数据库的相关信息 // exit(mysqli_errno($db).':'.mysqli_error($db)); // } /* 单记录查询操作 */ $sql = "SELECT name,salary FROM staff"; if($result = mysqli_query($db,$sql)){ if($res = mysqli_num_rows($result)>0){ while($row = mysqli_fetch_assoc($result)){ var_export(print_r($row),true); } } }else{ exit(mysqli_errno($db).':'.mysqli_error($db)); } mysqli_free_result($result); /*多语句执行与多结果集处理技术*/ //任务1: 按性别统计工资的平均数,四舍五入后保留2位小数 $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;"; $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 color="red">第'.$num.'个结果子集中的数据:<br>'; //将结果集指针指向下一个结果子集 mysqli_next_result($db); } } else{ exit(mysqli_errno($db).':'.mysqli_error($db)); } mysqli_close($db); 运行实例 » 点击 "运行实例" 按钮查看在线实例