PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
本文实例讲述了PHP入门教程之使用Mysqli操作数据库的方法。分享给大家供大家参考,具体如下:
Demo1.php
<?php //使用mysqli对象操作数据库 //创建mysqli对象(资源句柄) $_mysqli=newmysqli(); //连接数据库1.主机名(ip)2.账户3.密码4.数据库 //mysqli_connect函数==$_mysqli->connect(); $_mysqli->connect('localhost','root','123456','guest'); //断开MySQLmysqli_close()==$_mysqli->close(); $_mysqli->close(); ?>
Demo2.php
<?php //不用connect,直接使用构造方法 $_mysqli=newmysqli('localhost','root','123456','guest'); //单独选择一个数据库 //这里选择的数据库会替代上面的数据库 //为了避免这些麻烦,尽量不用去单独指向了 //$_mysqli->select_db('school'); $_mysqli->close(); ?>
Demo3.php
<?php header('Content-Type:text/html;charset=utf-8;'); //连接mysql //当你参数出现错误,导致连接错误的时候, //$_mysqli这个对象就没有创建成功,也就是说,没有资源句柄的功能 //就是没有调用mysqli下的方法和属性的能力了 @$_mysqli=newmysqli('localhost','root','123456','guest'); //为什么要用函数去捕捉呢? //为什么不用面向对象的方式去捕捉呢? if(mysqli_connect_errno()){ echo'数据库连接出现了错误,错误的信息是:'.mysqli_connect_error(); exit(); } $_mysqli->close(); ?>
Demo4.php
<?php header('Content-Type:text/html;charset=utf-8;'); //连接mysql //当你参数出现错误,导致连接错误的时候, //$_mysqli这个对象就没有创建成功,也就是说,没有资源句柄的功能 //就是没有调用mysqli下的方法和属性的能力了 @$_mysqli=newmysqli('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
<?php header('Content-Type:text/html;charset=utf-8;'); $_mysqli=newmysqli('localhost','root','123456','testguest'); //数据库连接时发生的错误 if(mysqli_connect_errno()){ echo'数据库连接出现了错误,错误的信息是:'.mysqli_connect_error(); exit(); } //设置一下编码 $_mysqli->set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql="SELECT*FROMtg_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 header('Content-Type:text/html;charset=utf-8;'); $_mysqli=newmysqli('localhost','root','123456','testguest'); //数据库连接时发生的错误 if(mysqli_connect_errno()){ echo'数据库连接出现了错误.错误的信息是:'.mysqli_connect_error(); exit(); } //设置一下编码 $_mysqli->set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql="SELECT*FROMtg_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
<?php header('Content-Type:text/html;charset=utf-8;'); $_mysqli=newmysqli('localhost','root','123456','testguest'); //数据库连接时发生的错误 if(mysqli_connect_errno()){ echo'数据库连接出现了错误.错误的信息是:'.mysqli_connect_error(); exit(); } //设置一下编码 $_mysqli->set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql="SELECT*FROMtg_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
<?php header('Content-Type:text/html;charset=utf-8;'); $_mysqli=newmysqli('localhost','root','123456','testguest'); //数据库连接时发生的错误 if(mysqli_connect_errno()){ echo'数据库连接出现了错误.错误的信息是:'.mysqli_connect_error(); exit(); } //设置一下编码 $_mysqli->set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql="SELECT*FROMtg_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
<?php header('Content-Type:text/html;charset=utf-8;'); $_mysqli=newmysqli('localhost','root','123456','testguest'); //数据库连接时发生的错误 if(mysqli_connect_errno()){ echo'数据库连接出现了错误.错误的信息是:'.mysqli_connect_error(); exit(); } //设置一下编码 $_mysqli->set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql="SELECT*FROMtg_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
<?php header('Content-Type:text/html;charset=utf-8;'); $_mysqli=newmysqli('localhost','root','123456','testguest'); //数据库连接时发生的错误 if(mysqli_connect_errno()){ echo'数据库连接出现了错误.错误的信息是:'.mysqli_connect_error(); exit(); } //设置一下编码 $_mysqli->set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql="SELECT*FROMtg_userlimit0,10"; //创建一个结果集 $_result=$_mysqli->query($_sql); //我要看下我选择了多少行 echo$_result->num_rows; //我影响了多少行呢 echo$_mysqli->affected_rows; $_mysqli->close(); ?>
Demo11.php
<?php header('Content-Type:text/html;charset=utf-8;'); $_mysqli=newmysqli('localhost','root','123456','testguest'); //数据库连接时发生的错误 if(mysqli_connect_errno()){ echo'数据库连接出现了错误.错误的信息是:'.mysqli_connect_error(); exit(); } //设置一下编码 $_mysqli->set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql="UPDATEtg_userSETtg_username='一站式建网站'WHEREtg_id=5"; //创建一个结果集 $_result=$_mysqli->query($_sql); //我要看下我选择了多少行 echo$_result->num_rows; echo'|'; //我影响了多少行呢 echo$_mysqli->affected_rows; $_mysqli->close(); ?>
Demo12.php
<?php header('Content-Type:text/html;charset=utf-8;'); $_mysqli=newmysqli('localhost','root','123456','testguest'); //数据库连接时发生的错误 if(mysqli_connect_errno()){ echo'数据库连接出现了错误.错误的信息是:'.mysqli_connect_error(); exit(); } //设置一下编码 $_mysqli->set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql="SELECT*FROMtg_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($_fieldsas$_field){ echo$_field->name.'<br/>'; } $_mysqli->close(); ?>
Demo13.php
<?php header('Content-Type:text/html;charset=utf-8;'); $_mysqli=newmysqli('localhost','root','123456','testguest'); //数据库连接时发生的错误 if(mysqli_connect_errno()){ echo'数据库连接出现了错误.错误的信息是:'.mysqli_connect_error(); exit(); } //设置一下编码 $_mysqli->set_charset('utf8'); //创建一句SQL,获取数据库的表的数据 $_sql="SELECT*FROMtg_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
<?php header('Content-Type:text/html;charset=utf-8;'); $_mysqli=newmysqli('localhost','root','123456','testguest'); //数据库连接时发生的错误 if(mysqli_connect_errno()){ echo'数据库连接出现了错误.错误的信息是:'.mysqli_connect_error(); exit(); } //设置一下编码 $_mysqli->set_charset('utf8'); //创建三个修改的SQL语句 $_sql.="UPDATEtg_articleSETtg_username='喀喀喀'WHEREtg_id=1;"; $_sql.="UPDATEtg_flowerSETtg_fromuser='喀喀喀'WHEREtg_id=1;"; $_sql.="UPDATEtg_friendSETtg_fromuser='喀喀喀'WHEREtg_id=1"; //使用通知执行的方法 $_mysqli->multi_query($_sql); //普通只能执行sql的方法是:$_mysqli->query($_sql); $_mysqli->close(); ?>
Demo15.php
<?php header('Content-Type:text/html;charset=utf-8;'); $_mysqli=newmysqli('localhost','root','123456','testguest'); //数据库连接时发生的错误 if(mysqli_connect_errno()){ echo'数据库连接出现了错误.错误的信息是:'.mysqli_connect_error(); exit(); } //设置一下编码 $_mysqli->set_charset('utf8'); //创建三条选择语句 $_sql.="SELECT*FROMtg_photo;"; $_sql.="SELECT*FROMtg_user;"; $_sql.="SELECT*FROMtg_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
<?php header('Content-Type:text/html;charset=utf-8;'); $_mysqli=newmysqli('localhost','root','123456','testguest'); //数据库连接时发生的错误 if(mysqli_connect_errno()){ echo'数据库连接出现了错误.错误的信息是:'.mysqli_connect_error(); exit(); } //设置一下编码 $_mysqli->set_charset('utf8'); //设置关闭自动提交(手工提交) $_mysqli->autocommit(false); //创建两个SQL语句 $_sql.="UPDATEtg_flowerSETtg_flower=tg_flower-50WHEREtg_id=1;"; $_sql.="UPDATEtg_friendSETtg_state=tg_state+50WHEREtg_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程序设计有所帮助。