批改状态:合格
老师批语:继续努力
-大纲:
-具体内容:
/*** MySQLI操作思路及增删改查* 其中$mysqli、$result、$stmt变量分别代表:* mysqli类、mysqli_result类、mysqli_stmt对象*//*————————————————————————————————*/#1:连接数据库及各种设置(略)$mysqli=new mysqli('localhost','root','root','dbname');#2:执行SQL查询:#2.1:准备sql语句#2.1.1:SQL语句//增$sql='INSERT `users` SET `name`=? ,`email`=?;';//删$sql='DELETE FROM `users` WHERE `id`=?;';//改$sql='UPDATE `users` SET `name`=?,`email`=? WHERE `id`=?;';//查:$sql='SELECT `name`,`email` FROM `users` WHERE `id`=? LIMIT n offset p ORDER BY `name` ASC;';#2.1.2:处理SQL语句/***情况一:预处理*适用:常用,增、删、改、查*///a.创建mysqli_stmt对象$stmt=$mysqli->stmt_init();//b.预处理sql语句$stmt->prepare($sql);//c.绑定sql语句中的参数:/*语法:mysqli_stmt::bind_param( string $types, mixed &$var1[, mixed &$...] ) : bool$types:i(integer)、d(double)、s(string)、b(blob)*/$user=['admin','admin@php.cn',5];list($name,$email,$id)=$user;$stmt->bind_param('ssi',$name,$email,$id);//d.执行/*方式一:语法:mysqli_stmt::execute( void ) : bool*/$stmt->excecute();/*方式二:执行sql并获取结果集对象语法:mysqli_stmt::get_result( void) : mysqli_result*/$result=$stmt->get_result();/***情况二:直接处理*适用:少用*///直接执行sql并获取结果集对象/*语法:mysqli::query( string $query[, int $resultmode = MYSQLI_STORE_RESULT] ) : mixed.*/$result=$mysqli->query($sql);#3:处理SQL执行结果#3.1:`增`、`删`、`改`的处理//查看受影响的记录/*常用的属性有:$stmt->affected_rows;//受影响的记录数$stmt->insert_id;//添加成功的主键,用于insert操作$stmt->error;//错误信息*/if($stmt->affected_rows):echo '成功';else:echo '失败'.$stmt->error;endif;#3.2:`查`的处理#3.2.1:方法一,使用mysqli_stmt对象//a.绑定结果集/*结果集中字段/列,绑定到指定的变量上语法:mysqli_stmt::bind_result( mixed &$var1[, mixed &$...] ) : bool*/$stmt->bind_result($name,$email);//b.从结果集中获取记录/*方法:获取1条当前记录,并将指针移动到下一条记录->循环.语法:mysqli_stmt::fetch( void) : bool*/while ($stmt->fetch()):echo "$name--->$email <br>";endwhile;//c.释放结果集对象:$stmt->free_result()#3.2.2:方法二,使用mysqli_result对象(常用)//a.获取结果集对象/*方式一:预处理方式*/$result=$stmt->get_result();//获取结果集/*方式二:直接获取方式*/$result=$mysqli->query($sql);//b.从结果集对象中获取记录/*方式一:获取1条当前记录并将指针移到下一条记录->循环.其中,分3种情况*///情况一:返回一维数组:索引+关联$result->fetch_array();//情况二:返回一维数组:索引$result->fetch_row();//情况三:返回一维数组:关联(常用)$result->fetch_assoc();//循环方式:whilewhile ($result->fetch_assoc()):echo "{$user['name']}==>{$user['email']} <br>";endwhile;/*方式二:一次性获取所有数据->循环.*///第一步:数据表指针复位$result->data_seek(0);//第二步:获取所有记录/*情况一:返回二维数组:索引=>索引*/$users=$result->fetch_all();/*情况二:返回二维数组:索引=>关联*/$users=$result->fetch_all(MYSQLI_ASSOC);//循环方式:foreachforeach($users as $user){echo "{$user['name']}==>{$user['email']} <br>";}//c.释放结果对象$result->free_result();//#4:结束操作//方式一:$stmt->close();//方式二:$mysqli->close();


注:前期各种原因未能紧跟学习课程,现在才勉强赶上
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号