PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
php  /  管理员 发布于 7年前   207
本文实例讲述了PHP入门教程之使用Mysqli操作数据库的方法。分享给大家供大家参考,具体如下: Demo1.php Demo2.php Demo3.php Demo4.php Demo5.php Demo6.php Demo7.php Demo8.php Demo9.php Demo10.php Demo11.php Demo12.php Demo13.php Demo14.php Demo15.php Demo16.php 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助。 connect(); $_mysqli -> connect('localhost','root','123456','guest'); //断开 MySQL mysqli_close() == $_mysqli -> close(); $_mysqli -> close();?>
select_db('school'); $_mysqli -> close();?>
close();?>
select_db('fsdfd'); //数据库操作时发生的错误 if($_mysqli -> errno){ echo '数据库操作错误:'.$_mysqli -> error; } $_mysqli->close();?>
set_charset('utf8'); //创建一句 SQL ,获取数据库的表的数据 $_sql = "SELECT * FROM tg_user"; //执行 SQL 语句,把结果集赋给 $_result $_result = $_mysqli -> query($_sql); //var_dump($_result); //object(mysqli_result)#2 (0) { } //通过结果集,我要取得第一行数据 //fetch_row();是返回的一个数组,里面是第一条数据的集合 print_r( $_result -> fetch_row()); //运行一次,指针下移一条 print_r( $_result -> fetch_row()); //销毁结果集 $_result -> free(); $_mysqli->close();?>
set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql = "SELECT * FROM tg_user"; //创建一个结果集 $_result = $_mysqli->query($_sql); //使用索引数组取值 //print_r($_result->fetch_row()); $_row = $_result->fetch_row(); echo $_row[3]; //遍历,下标很难记[3] while (!!$_row = $_result->fetch_row()) { echo $_row[3].'
'; } $_mysqli->close();?>set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql = "SELECT * FROM tg_user"; //创建一个结果集 $_result = $_mysqli->query($_sql); //使用关联数组取值 //print_r($_result->fetch_assoc()); $_assoc = $_result->fetch_assoc(); echo $_assoc['tg_username']; //遍历 while (!!$_assoc = $_result->fetch_assoc()) { echo $_assoc['tg_username'].'
'; } $_mysqli->close();?>set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql = "SELECT * FROM tg_user"; //创建一个结果集 $_result = $_mysqli->query($_sql); //使用索引+关联数组取值 //print_r($_result->fetch_array()); $_array = $_result->fetch_array(); echo $_array[3]; echo $_array['tg_username']; //遍历..... $_mysqli->close();?>
set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql = "SELECT * FROM tg_user"; //创建一个结果集 $_result = $_mysqli->query($_sql); //使用OOP的方法object //print_r($_result->fetch_object()); echo $_result->fetch_object()->tg_username; //使用OOP遍历 while (!!$_object = $_result->fetch_object()) { echo $_object->tg_username.'
'; } $_mysqli->close();?>set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql = "SELECT * FROM tg_user limit 0,10"; //创建一个结果集 $_result = $_mysqli->query($_sql); //我要看下我选择了多少行 echo $_result->num_rows; //我影响了多少行呢 echo $_mysqli->affected_rows; $_mysqli->close();?>
set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql = "UPDATE tg_user SET tg_username='一站式建网站' WHERE tg_id=5"; //创建一个结果集 $_result = $_mysqli->query($_sql); //我要看下我选择了多少行 echo $_result->num_rows; echo '|'; //我影响了多少行呢 echo $_mysqli->affected_rows; $_mysqli->close();?>
set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql = "SELECT * FROM tg_user"; //创建一个结果集 $_result = $_mysqli->query($_sql); //求出表中有多少个字段 echo $_result->field_count; //获取字段的名字// $_field = $_result->fetch_field();// echo $_field->name;// $_field = $_result->fetch_field();// echo $_field->name;//// while (!!$_field = $_result->fetch_field()) {// echo $_field->name.'
';// } //一次性取得所有的字段 $_fields = $_result->fetch_fields(); //echo $_fields[0]->name; foreach ($_fields as $_field) { echo $_field->name.'
'; } $_mysqli->close();?>set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql = "SELECT * FROM tg_user"; //创建一个结果集 $_result = $_mysqli->query($_sql); //移动数据指针 $_result->data_seek(9); $_row = $_result->fetch_row(); echo $_row[3]; //移动字段指针 $_result->field_seek(3); $_field = $_result->fetch_field(); echo $_field->name; $_mysqli->close();?>
set_charset('utf8'); //创建三个修改的SQL语句 $_sql .= "UPDATE tg_article SET tg_username='喀喀喀' WHERE tg_id=1;"; $_sql .= "UPDATE tg_flower SET tg_fromuser='喀喀喀' WHERE tg_id=1;"; $_sql .= "UPDATE tg_friend SET tg_fromuser='喀喀喀' WHERE tg_id=1"; //使用通知执行的方法 $_mysqli->multi_query($_sql); //普通只能执行sql的方法是:$_mysqli->query($_sql); $_mysqli->close();?>
set_charset('utf8'); //创建三条选择语句 $_sql .= "SELECT * FROM tg_photo;"; $_sql .= "SELECT * FROM tg_user;"; $_sql .= "SELECT * FROM tg_friend"; if ($_mysqli->multi_query($_sql)) { //获取当前的结果集 $_result = $_mysqli->store_result(); print_r($_result->fetch_row()); echo '
'; //将结果集的指针移到下一条 $_mysqli->next_result(); $_result = $_mysqli->store_result(); if (!$_result) { echo '第二条SQL语句有五!'; exit(); } print_r($_result->fetch_row()); echo '
'; $_mysqli->next_result(); $_result = $_mysqli->store_result(); if (!$_result) { echo '第三条SQL语句有五!'; exit(); } print_r($_result->fetch_row()); } else { echo '第一条SQL语句有误'; exit(); } $_mysqli->close();?>set_charset('utf8'); //设置关闭自动提交(手工提交) $_mysqli->autocommit(false); //创建两个SQL语句 $_sql .= "UPDATE tg_flower SET tg_flower=tg_flower-50 WHERE tg_id=1;"; $_sql .= "UPDATE tg_friend SET tg_state=tg_state+50 WHERE tg_id=1"; //执行多条SQL语句 //只要这两条SQL语句都成功了,就手工提交给数据库 //否则,就回滚,撤销之前的有效操作。 if ($_mysqli->multi_query($_sql)) { //通过影响的行数,来判定SQL语句是否成功执行 //如果$_success是false说明sql语句有吴,那么就执行回滚,否则就手工提交 $_success = $_mysqli->affected_rows == 1 ? true : false; //下移指针 $_mysqli->next_result(); $_success2 = $_mysqli->affected_rows == 1 ? true : false; //如果两条都成功的话 if ($_success && $_success2) { //执行手工提交 $_mysqli->commit(); echo '完美提交'; } else { //执行回滚,撤销之前的所有操作 $_mysqli->rollback(); echo '所有操作归零!'; } } else { echo '第一条SQL语句有错误!'; } //再开启自动提交 $_mysqli->autocommit(true); $_mysqli->close();?>
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号