您的位置:首页 > 数据库 > MySQL

mysqli与mysql_result类的简单介绍与小实例

2011-11-14 19:05 549 查看
首先:使用mysqli扩展就要使用面向对象的编程方式进行开发

 

Mysqli :

作用范围:返回结果集(query)对象之前;也就是到执行query之前的所有处理

1、连接数据库:

$mysqli-> new mysqli(“localhost”,”root”,”123”,”mysql”);

 

 

2、连接错误处理: 注意:这两个错误处理函数不是mysqli的,它是属于php的内置函数

       If(Mysqli_connect_errno()){

              Echo“连接失败”.mysqli_connect_error();

              $mysqli=null;

              Exit;

}

 

Mysqli_connect_errno()

这个是检查PHP是否连接上MYSQL,就是一个判断函数

 

mysqli_connect_error()

产生错误的详细信息

 

断开连接:

Mysqli->close();

 

Mysqli类的方法:                    

      

1、Get_client_info()  获取客户端版本信息

 

2、Get_host_info()   返回连接类型; 如:localhost

 

3、Get_server_info()  返回mysql服务器的版本

 

4、query() 

执行sql语句,可以返回影响的行数或者是资源值

接收内容用query()做判断条件就用real_query();

 

5、real_query()

如果成功则返回真的,失败则返回假的。通常用作判断条件

 

6、Multi_query()  

这个函数很强大课一次执行多条sql语句

注意:每条sql语句之间要用  ;分开

例如:$sql = "setnames utf8; select * from tab_fpage; select * from tab_fpage";

 

7、Store_result()

转让结果集;

注意:这里的结果集定义是:每条select语句返回一个结果集

 

 

 

Mysqli_result结果集:

             

$result->$mysqli->quert($sql);

这条语句执行完之后返回的结果集就相当于创建了一个结果集类,可以调用它自己的属性和方法

1、返回结果行数:

$rows =$result->num_rows;

2、返回结果列数:

$cols =$result->fielt_count;

3、移动记录到:

$result->data_seek(int);   

与之相对应的field_seek(int)移动对应的列到

4、释放结果集:

       $result->free();

5、读取下一个结果集:如果没有就返回false:

Next_result();

6、当前列:

       $result->Current_field

 

 

当前列信息:

$field = $result->fetch_field();  返回值是一个对象

1、真实列名:

       $field->orgname

2、列名(重命名的):

       $field->name

3、该列中的最大长度值:

       $field->max_length

4、所在表名(重命名的)

       $field->orgtable

5、所在表名(重命名的):

       $field->table

……………

 

* 接下来看下面这个例子结合了以上的大部分函数:

       //定义多条sql语句,中间用;分隔

       $sql = "set names utf8; select *from tab_fpage; select * from tab_fpage";

       //执行多条语句

       if($mysqli->multi_query($sql)){

              do{

                     //转让结果集

                     if($res =$mysqli->store_result()){

                            //查看结果集中列的数量

                            $res->field_count;

                            //索引数组

                            while($arr =$res->fetch_row()){

                                   foreach ($arras $value){

                                          //echo$value."<br>";

                                  

                                   //retult

                                   echo "当前列".$res->current_field."<br>".$res->num_rows."行<br>".$res->field_count."列<br>";

                                   //指定显示某一列

                                   //$res->field_seek(2);

                                   //echo "当前列".$res->current_field."<br>".$res->num_rows."行<br>".$res->field_count."列<br>";

                                   //返回一个列中的详细信息,返回值是一个对象

                                   $aa =$res->fetch_field();

                                   //当前列信息field

                                   echo "最大长度:".$aa->max_length."<br>重命名列名:".$aa->name."<br>真实列名:".$aa->orgname;

                                  

                                   }

                            }

                                   echo"<br><br><br>";

                     }

              }

              //检查是否还有结果集,有返回true,没有返回false

              while($mysqli->next_result());

       }

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: