使用MySqli对象操作数据库

来源:互联网 发布:云之家网络平台 编辑:程序博客网 时间:2024/05/18 01:53

一、连接数据库
1、连接语句

//创建mysqli对象(资源句柄)$_mysqli = new mysqli();//连接数据库 1、主机名 2、账户 3、密码 4、数据库$_mysqli->connect('localhost','root','','');//断开MySQL $_mysqli->close();

2、不用connect,直接使用构造方法连接数据库

$_mysqli = new mysqli('localhost','root','','');//也可以单独选择一个数据库//这里选择的数据库 会替代上面数据库,一般不用这种方式$_mysqli->select_db('liuyan');$_mysqli->close(); 

3、错误处理(连接错误)

$_mysqli = new mysqli('localhost','root','','');     echo mysqli_connect_errno();//错误代号     echo mysqli_connect_error();//错误信息     //0表示没有任何错误if(mysqli_connect_errno()){     echo "错误信息:".mysqli_connect_error();     exit(); }

4、错误处理(操作错误)

$_mysqli = new mysqli('localhost','root','','');if(mysqli_connect_errno()){     echo "错误信息:".mysqli_connect_error();     exit();}$_mysqli->select_db('liuyan');//数据库操作时发生的错误     //echo $_mysqli->errno;     //echo $_mysqli->error;     if($_mysqli->errno){        echo '数据库操作错误'.$_mysqli->error;     }

二、与数据库进行交互
1、连接数据库

$_mysqli = new mysqli('localhost','root','','met_aa'); if(mysqli_connect_errno()){        echo "错误信息:".mysqli_connect_error();        exit();}//创建一句SQL,获取数据库表的数据$_sql = "SELECT * FROM met_app";//执行SQL语句把结果赋给$_result(资源句柄);$_result = $_mysqli->query($_sql);//通过结果集,取得第一行数据print_r($_result->fetch_row());//运行一次,指针下移一条print_r($_result->fetch_row());//销毁结果集$_result->free();//$_mysqli->close(); //设置编码$_mysqli ->set_charset('utf8'); //创建一个SQL语句获得数据库表数据$_sql = "SELECT * FROM met_app";//创建一个结果集$_result = $_mysqli->query($_sql);

2、使用索引数组取值

 print_r($_result->fetch_row()); $_row = $_result->fetch_row();echo $_row[5];//遍历 (下标难记)while(!!$_row =  $_result->fetch_row()) {    echo $_row[3]."<br>"; }

3、使用关联数组取值

print_r($_result->fetch_assoc());$_assoc = $_result->fetch_assoc(); echo $_assoc['id']; //遍历 while(!!$_assoc = $_result->fetch_assoc()){    echo $_assoc['id']."<br>";}

4、 索引+关联

print_r($_result->fetch_array() );$_array =$_result ->fetch_array();echo $_array[3];echo $_array['id'];//遍历...

5、使用OOP的方式

print_r($_result->fetch_object());$_object = $_result->fetch_object();echo $_object->id;echo $_result->fetch_object()->id;//OOP遍历while (!!$_object = $_result->fetch_object()){     echo $_object->id; }

三、确定所选择的行和受影响的行
1、

$_mysqli = new mysqli('localhost','root','','met_aa');    if(mysqli_connect_errno()){        echo "错误信息:".mysqli_connect_error();        exit();    }$_mysqli -> set_charset('utf8');//$_sql = 'SELECT * FROM met_app';$_sql = 'SELECT * FROM met_app limit 0,6';$_result = $_mysqli->query($_sql);//想了解查询了多少行echo $_result ->num_rows;//找影响了多少行echo $_mysqli->affected_rows;$_mysqli->close();

2、

$_mysqli = new mysqli('localhost','root','','met_aa');     if(mysqli_connect_errno()){        echo "错误信息:".mysqli_connect_error();        exit();      }    $_mysqli -> set_charset('utf8');    $_sql = 'SELECT * FROM met_app';    $_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>";}    //一次性取得所有字段    $_field = $_result->fetch_fields();    echo $_field[0]->name;    $_fields = $_result->fetch_fields();    foreach ($_fields as $_field) {        echo $_field->name.'<br>';    }

3、

$_mysqli = new mysqli('localhost','root','','met_aa');     if(mysqli_connect_errno()){        echo "错误信息:".mysqli_connect_error();        exit();      }    $_mysqli -> set_charset('utf8');    $_sql = 'SELECT * FROM met_app';    $_result = $_mysqli->query($_sql);    //移动数指针    $_result ->data_seek(9);    $_row = $_result->fetch_row();    echo $_row[3];    //移动字段指针    $_field=$_result->fetch_field();    echo $_field->name;    $_mysqli->close();

四、执行多条SQL语句
1、

$_mysqli = new mysqli('localhost','root','','met_aa');     if(mysqli_connect_errno()){        echo "错误信息:".mysqli_connect_error();        exit();      }    $_mysqli -> set_charset('utf8');    //创建三个修改的SQL语句    $_sql .= 'UPDATE a SET b ='0' WHERE c='1';';     $_sql .= 'UPDATE a SET b ='0' WHERE c='1';';     $_sql .= 'UPDATE a SET b ='0' WHERE c='1'';    //执行多条查询    $_mysqli -> multi_query($_sql);    //普通执行方法 $_mqsqli->query($_sql); 
原创粉丝点击