PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)

前端之家收集整理的这篇文章主要介绍了PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP入门教程之使用MysqLi操作数据库方法分享给大家供大家参考,具体如下:

Demo1.PHP

PHP;"> connect(); $_MysqLi -> connect('localhost','root','123456','guest'); //断开 MysqL MysqLi_close() == $_MysqLi -> close(); $_MysqLi -> close(); ?>

Demo2.PHP

PHP;"> select_db('school'); $_MysqLi -> close(); ?>

Demo3.PHP

PHP;"> close(); ?>

Demo4.PHP

PHP;"> select_db('fsdfd'); //数据库操作时发生的错误 if($_MysqLi -> errno){ echo '数据库操作错误:'.$_MysqLi -> error; } $_MysqLi->close(); ?>

Demo5.PHP

PHP;"> 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(); ?>

Demo6.PHP

PHP;"> 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(); ?>

Demo7.PHP

PHP;"> 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(); ?>

Demo8.PHP

PHP;"> query($_sql); //使用索引+关联数组取值 //print_r($_result->fetch_array()); $_array = $_result->fetch_array(); echo $_array[3]; echo $_array['tg_username']; //遍历..... $_MysqLi->close(); ?>

Demo9.PHP

PHP;"> 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(); ?>

Demo10.PHP

PHP;"> query($_sql); //我要看下我选择了多少行 echo $_result->num_rows; //我影响了多少行呢 echo $_MysqLi->affected_rows; $_MysqLi->close(); ?>

Demo11.PHP

PHP;"> query($_sql); //我要看下我选择了多少行 echo $_result->num_rows; echo '|'; //我影响了多少行呢 echo $_MysqLi->affected_rows; $_MysqLi->close(); ?>

Demo12.PHP

PHP;"> 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(); ?>

Demo13.PHP

PHP;"> 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(); ?>

Demo14.PHP

PHP;"> 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(); ?>

Demo15.PHP

PHP;"> 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(); ?>

Demo16.PHP

PHP;"> 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(); ?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》及《PHP常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

猜你在找的PHP相关文章