Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:极少去判断关闭是否成功的, 甚至连关闭的代码都不去写的, 看来你是一个很细心的人
// 1.mysqli对象连接数据库,@是错误抑制符$mysqli = @new mysqli('127.0.0.1', 'root', '123456', 'phptest');// 2.检查是否连接成功并输出信息echo $mysqli -> connect_errno ? '连接错误:'. $mysqli -> connect_error. '<hr>' : '连接成功<br>数据库版本为:'. $mysqli -> server_info. '<hr>';// 3.设置客户端字符集$mysqli -> set_charset('utf-8');
查询操作:
// 1.mysqli对象连接数据库,@是错误抑制符$mysqli = @new mysqli('127.0.0.1', 'root', '123456', 'phptest');// 2.检查是否连接成功并输出信息echo $mysqli->connect_errno ? '连接错误:' . $mysqli->connect_error . '<hr>' : '连接成功<br>数据库版本为:' . $mysqli->server_info . '<hr>';// 3.设置客户端字符集$mysqli->set_charset('utf-8');// 4.准备sql语句(预处理),使用 ? 占位符// 查询单条数据$select = "SELECT `cate_id`, `cate_name`, `cate_order` FROM `category` WHERE `cate_id`>?";// 预处理机制要用$mysqli -> prepare(),结果是mysqli_statement对象$data = $mysqli->prepare($select);// 预处理语句参数绑定$cateId = 1;$data->bind_param('i', $cateId);// 绑定结果集$data->bind_result($categoryId, $cateName, $cateOrder);// 5.执行语句并判断是否成功执行if (!$data->execute()) { echo '查询数据失败:' . $data->errno . ':' . $data->error;}// 获取结果集数据while ($data->fetch()) { echo "ID是:$categoryId" . '、' . "名称是:$cateName" . '、' . "排序是:$cateOrder" . '<br>';}echo '<hr>';// 6.释放结果集并关闭数据库连接$data->free_result();if ($mysqli->close()) { echo '数据库关闭成功!';} else { echo '数据库关闭失败!';}
执行结果:
插入操作:
// 1.准备sql语句(预处理),使用 ? 占位符// 插入单条数据$insert = "INSERT INTO category(`cate_name`,`cate_order`,`cate_type`) VALUES(?,?,?)";// 预处理机制要用$mysqli -> prepare(),结果是mysqli_statement对象$data = $mysqli -> prepare($insert);// 参数绑定$data -> bind_param()$cateName = '小红';$cateOrder = 5;$cateType = 3;$data -> bind_param('sii', $cateName, $cateOrder, $cateType);// 2.执行sql语句并判断输出if ($data -> execute()) { echo '插入数据ID为:'. $data -> insert_id;} else { echo '插入数据失败:'. $data -> errno. ':'. $data -> error;}echo '<hr>';// 3.关闭数据库连接if ($mysqli -> close()) { echo '数据库关闭成功!';} else { echo '数据库关闭失败!';}
执行结果:
更新操作:
// 1.准备sql语句// 更新数据$update = "UPDATE `category` SET `cate_name`=? WHERE `cate_name`=?";// 准备语句$data = $mysqli->prepare($select);// 预处理语句参数绑定$upName = '小明';$cateName = '解决方案';$data->bind_param('ss', $upName, $cateName);// 要执行语句要用到mysqli的对象方法mysqli->query(),结果会输出一个mysqli_result对象if ($data->execute()) { echo '更新成功';} else { echo '更新失败' . $data->errno . ':' . $data->error;}echo '<hr>';// 2.关闭数据库连接if ($mysqli->close()) { echo '数据库关闭成功!';} else { echo '数据库关闭失败!';}
执行结果:
删除操作:
// 1.准备sql语句// 更新数据$delete = "DELETE FROM `category` WHERE `cate_name`=?";// 准备语句$data = $mysqli->prepare($delete);// 预处理语句参数绑定$cateName = '小明';$data->bind_param('s', $cateName);// 要执行语句要用到mysqli的对象方法mysqli->query(),结果会输出一个mysqli_result对象if ($data->execute()) { echo '删除成功';} else { echo '删除失败' . $data->errno . ':' . $data->error;}echo '<hr>';// 2.关闭数据库连接if ($mysqli->close()) { echo '数据库关闭成功!';} else { echo '数据库关闭失败!';}
执行结果: