Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:更新了一条, 数据必须是发生了变化 , 就是的确发生了写操作,如果仅仅是执行过了一更新语句, 不算数的
<?php
// 数据库连接
namespace mysql_edu;
use mysqli;
// 1.加载参数
$config = require __DIR__.'/config/database-exe.php';
// 将关联数组中的键值对, 转为变量的名值对
extract($config);
// 2.连接数据库
$mysqli = new mysqli($host,$username,$password,$dbname);
// 3.判断连接是否成功
if($mysqli->connect_errno){
echo $mysqli->connect_error;}else{
echo '数据库连接成功!';
}
var_dump($mysqli);
实例效果
<?php
require 'connect-exe.php';
$sql = "SELECT * FROM `table01` where `age`>30 ";
$mysqli_result = $mysqli->query($sql);
// 指针复位
$mysqli_result->data_seek(0);
// 查询结果
echo $mysqli_result->num_rows;
if($mysqli_result && $mysqli_result->num_rows >0){
while($hero = $mysqli_result->fetch_assoc())
{
printf('<pre>%s</pre>',print_r($hero,true));
}
}else{
echo '查讯失败!';
}
// 释放结果集
$mysqli_result->free_result();
$mysqli->close();
实例效果
<?php
require 'connect-exe.php';
$sql = "SELECT * FROM `table01` where `age`>20";
$mysqli_result = $mysqli->query($sql);
$heros = $mysqli_result->fetch_all(MYSQLI_ASSOC);
printf('<pre>%s</pre>',print_r($heros,true));
$mysqli_result->free_result();
$mysqli->close();
实例效果
<?php
// 新增数据
require 'connect-exe.php';
$sql = "insert into `table01` (`name`,`skill`,`age`) values ('wcy','jyzj',68)";
$mysqli->query($sql);
if($mysqli->query($sql)){
echo '成功添加了'.$mysqli->affected_rows.'条数据!';
}else{
echo '添加失败!'.$mysqli->errno.$mysqli->error;
}
$mysqli->close();
实例效果
<?php
// 更新数据
require 'connect-exe.php';
$sql = "UPDATE `TABLE01` SET `name`='王重阳',`skill`='九阴真经',`age`=68 WHERE `id`=13 ";
$mysqli->query($sql);
if($mysqli->query($sql)){
if($mysqli->affected_rows>0){
echo '成功更新了'.$mysqli->affected_rows.'条数据!';
}else{
echo '成功更新0条';
}
}else{
echo '数据更新失败!'.$mysqli->error;
}
$mysqli->close();
实例效果
<?php
namespace mysql_edu;
require 'connect-exe.php';
$sql = "DELETE FROM `table01` WHERE `id`=16";
if( $mysqli->query($sql)){
if($mysqli->affected_rows>0){
echo '删除了'.$mysqli->affected_rows.'条数据!';
}else{
echo '没有删除记录!';
}
}else{
echo '删除失败!';
}
$mysqli->close();
实例效果
总结:
1.于PDO接口相比,连接参数相同,步骤一样。
2.具体的查询语句不同。
3.明明更新了1条,affected_rows返回0?数据库已更新啊!
4.刚刚接触不容易记住,先记些骨干吧。