20.4本章实例
本节将使用PHP访问MySQL数据库。本节要求的操作如下:
(1)通过mysqli接口连接MySQL中的test数据库。
(2)使用multi_query()函数同时执行两个SELECT语句。SELECT语句如下:
SELECT id, name, department FROM student; SELECT stu_id,c_name, grade FROM score;
(3)在页面上显示査询结果。第一行显示字段名,下面每一行显示一条记录。
(4)关闭所有对象.
本实例的代码如下:
<?php $conn=new mysqli("localhost","root","root","test"); //创建连接 //判断连接是否成功,mysqli_connect_error()返回值为TRUE表示连接失败 if (mysqli_connect_errno()) { //连接失败时"显示“连接失败”,并显示错误原因 echo "<p>连接失败:",mysqli_connect_error(),"</p>"; exit(); //使用exit()退出操作 else{ echo("<p>连接成功<p>"; //连接成功后,显示“连接成功” //sql变量中有两个SELECT语句 $sql="SELECT id, name, department FROM student;SELECT stu_id,c_name, grade FROM score"; //判断multi_query()函数是否成功的执行了第一个SELECT语句 //返回值为true,表示第一个SELECT语句执行成功 if($con n->multi_q uery($sql)){ $result=$conn->store_result(); //获取第一个 SELECT 语句的执行结果 $num=$result->field_count; //获取结果的字段数 $info=$result->fetch_fields(); //获取字段的信息 echo"<p>表名为:",$info[0]->table,"</p>"; //获取表的名称 for($i=0;$i<$num;$i++){ //输出字段的名称 echo $info[$i]->name,"\t'; } while($row=$result->fetch_object()){//输出字段的值 echo "<p>",$row->id,"\t",$row->name,"\t",$row->department,"</p>"; } $result->close(); //关闭$result对象 //判断是否还有其他记录,如果next_result()返回值为true,表示还有记录 if($conn->next_result()){ $result=$conn->store_result(); //获取下一个SQL语句的结果 $num=$result->field_count; //获取字段数 $info=$result->fetch_fields(); //获取字段的信息,并且输出字段的名称 echo "<p>表名为:",$info[0]->table,"</p>"; //输出表的名称 for($i=0;$i<$num;$i++){ //输出字段的名称 echo $info[$i]->name,"\t"; } while($row=$result->fetch_row()){ //输出字段的值 echo "<p>",$row[0],"\t",$row[1],"\t",$row[2],"</p>"; } $result->close(); } echo "<p>查询结果,所有结果已经输出</p>"; } } $conn->close(); ?>//关闭$conn对象
将这个PHP文件命名为query.php。在Windows操作系统中,将query.php存储到Apache软件的htdocs目录下,默认情况下的路径为C:\Program Files\Apache Software Foundation\Apache2.2\htdocs。在Linux 操作系统中,将 query.php 存储到/var/www/html目录下。Apache的Web服务器启动后,在Web浏览器中输入http://localhosVquery.php,就可以看到SELECT语句的查询结果。