Welcome

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

本文实例讲述了PHP入门教程之使用Mysqli操作数据库的方法。分享给大家供大家参考,具体如下:
Demo1.php
<?php//使用 mysqli 对象操作数据库//创建 mysqli 对象(资源句柄)$_mysqli = new mysqli();//连接数据库 1.主机名(ip) 2.账户 3.密码 4.数据库//mysqli_connect 函数 == $_mysqli -> connect();$_mysqli -> connect("localhost","root","123456","guest");//断开 MySQL mysqli_close() == $_mysqli -> close();$_mysqli -> close();?>
Demo2.php
<?php//不用 connect ,直接使用构造方法$_mysqli = new mysqli("localhost","root","123456","guest");//单独选择一个数据库//这里选择的数据库会替代上面的数据库//为了避免这些麻烦,尽量不用去单独指向了//$_mysqli -> select_db("school");$_mysqli -> close();?>
Demo3.php
<?phpheader ( "Content-Type:text/html; charset=utf-8;" );//连接 mysql//当你参数出现错误,导致连接错误的时候,//$_mysqli 这个对象就没有创建成功,也就是说,没有资源句柄的功能//就是没有调用 mysqli 下的方法和属性的能力了@$_mysqli = new mysqli("localhost","root","123456","guest");//为什么要用函数去捕捉呢?//为什么不用面向对象的方式去捕捉呢?if(mysqli_connect_errno()){echo "数据库连接出现了错误,错误的信息是:".mysqli_connect_error();exit();}$_mysqli->close();?>
Demo4.php
<?phpheader ( "Content-Type:text/html; charset=utf-8;" );//连接 mysql//当你参数出现错误,导致连接错误的时候,//$_mysqli 这个对象就没有创建成功,也就是说,没有资源句柄的功能//就是没有调用 mysqli 下的方法和属性的能力了@$_mysqli = new mysqli("localhost","root","123456","guest");//为什么要用函数去捕捉呢?//为什么不用面向对象的方式去捕捉呢?if(mysqli_connect_errno()){echo "数据库连接出现了错误,错误的信息是:".mysqli_connect_error();exit();}//$_mysqli -> select_db("fsdfd");//数据库操作时发生的错误if($_mysqli -> errno){echo "数据库操作错误:".$_mysqli -> error;}$_mysqli->close();?>
Demo5.php
<?phpheader ( "Content-Type:text/html; charset=utf-8;" );$_mysqli = new mysqli("localhost","root","123456","testguest");//数据库连接时发生的错误if(mysqli_connect_errno()){echo "数据库连接出现了错误,错误的信息是:".mysqli_connect_error();exit();}//设置一下编码$_mysqli -> 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
<?phpheader ( "Content-Type:text/html; charset=utf-8;" );$_mysqli = new mysqli("localhost","root","123456","testguest");//数据库连接时发生的错误if (mysqli_connect_errno()) {echo "数据库连接出现了错误.错误的信息是:".mysqli_connect_error();exit();}//设置一下编码$_mysqli->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]."<br />";}$_mysqli->close();?>
Demo7.php
<?phpheader ( "Content-Type:text/html; charset=utf-8;" );$_mysqli = new mysqli("localhost","root","123456","testguest");//数据库连接时发生的错误if (mysqli_connect_errno()) {echo "数据库连接出现了错误.错误的信息是:".mysqli_connect_error();exit();}//设置一下编码$_mysqli->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"]."<br />";}$_mysqli->close();?>
Demo8.php
<?phpheader ( "Content-Type:text/html; charset=utf-8;" );$_mysqli = new mysqli("localhost","root","123456","testguest");//数据库连接时发生的错误if (mysqli_connect_errno()) {echo "数据库连接出现了错误.错误的信息是:".mysqli_connect_error();exit();}//设置一下编码$_mysqli->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();?>
Demo9.php
<?phpheader ( "Content-Type:text/html; charset=utf-8;" );$_mysqli = new mysqli("localhost","root","123456","testguest");//数据库连接时发生的错误if (mysqli_connect_errno()) {echo "数据库连接出现了错误.错误的信息是:".mysqli_connect_error();exit();}//设置一下编码$_mysqli->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."<br />";}$_mysqli->close();?>
Demo10.php
<?phpheader ( "Content-Type:text/html; charset=utf-8;" );$_mysqli = new mysqli("localhost","root","123456","testguest");//数据库连接时发生的错误if (mysqli_connect_errno()) {echo "数据库连接出现了错误.错误的信息是:".mysqli_connect_error();exit();}//设置一下编码$_mysqli->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();?>
Demo11.php
<?phpheader ( "Content-Type:text/html; charset=utf-8;" );$_mysqli = new mysqli("localhost","root","123456","testguest");//数据库连接时发生的错误if (mysqli_connect_errno()) {echo "数据库连接出现了错误.错误的信息是:".mysqli_connect_error();exit();}//设置一下编码$_mysqli->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();?>
Demo12.php
<?phpheader ( "Content-Type:text/html; charset=utf-8;" );$_mysqli = new mysqli("localhost","root","123456","testguest");//数据库连接时发生的错误if (mysqli_connect_errno()) {echo "数据库连接出现了错误.错误的信息是:".mysqli_connect_error();exit();}//设置一下编码$_mysqli->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."<br />";// }//一次性取得所有的字段$_fields = $_result->fetch_fields();//echo $_fields[0]->name;foreach ($_fields as $_field) {echo $_field->name."<br />";}$_mysqli->close();?>
Demo13.php
<?phpheader ( "Content-Type:text/html; charset=utf-8;" );$_mysqli = new mysqli("localhost","root","123456","testguest");//数据库连接时发生的错误if (mysqli_connect_errno()) {echo "数据库连接出现了错误.错误的信息是:".mysqli_connect_error();exit();}//设置一下编码$_mysqli->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();?>
Demo14.php
<?phpheader ( "Content-Type:text/html; charset=utf-8;" );$_mysqli = new mysqli("localhost","root","123456","testguest");//数据库连接时发生的错误if (mysqli_connect_errno()) {echo "数据库连接出现了错误.错误的信息是:".mysqli_connect_error();exit();}//设置一下编码$_mysqli->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
<?phpheader ( "Content-Type:text/html; charset=utf-8;" );$_mysqli = new mysqli("localhost","root","123456","testguest");//数据库连接时发生的错误if (mysqli_connect_errno()) {echo "数据库连接出现了错误.错误的信息是:".mysqli_connect_error();exit();}//设置一下编码$_mysqli->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 "<br />";//将结果集的指针移到下一条$_mysqli->next_result();$_result = $_mysqli->store_result();if (!$_result) {echo "第二条SQL语句有五!";exit();}print_r($_result->fetch_row());echo "<br />";$_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
<?phpheader ( "Content-Type:text/html; charset=utf-8;" );$_mysqli = new mysqli("localhost","root","123456","testguest");//数据库连接时发生的错误if (mysqli_connect_errno()) {echo "数据库连接出现了错误.错误的信息是:".mysqli_connect_error();exit();}//设置一下编码$_mysqli->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+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。