7.1MySQL数据库的连接与查询操作

1,打开PHP工具箱,打开网站根目录(C:\myphp_www\PHPTutorial\WWW),
在网站根目录创建一个文件夹名字随意,例如:zhibo; 再在zhibo目录下创建一个3的名字文件夹,
再在3的文件夹下创建一个叫mysql.php文件
2.打开PHP工具箱,启动phpMyAdmin,用户名:root,密码是:root.
连接myblog数据库,在myblog数据库中创建一个文件,这个数据表来完成这节课的演示
3.创建一个数据表,表名是student,引擎用innoDB; (整理)校对规则可以理解字符集,校对用:utf8_general_ci,ci的意思是忽略大小写的意思
AI表示自增,varchar表示字符类型
然后这张书局表创建几个字段如下图:

7.1MySQL数据库的连接与查询操作
文章图片
image.png
7.1MySQL数据库的连接与查询操作
文章图片
image.png

  • 【7.1MySQL数据库的连接与查询操作】往里面添加数据

    7.1MySQL数据库的连接与查询操作
    文章图片
    image.png
7.1MySQL数据库的连接与查询操作
文章图片
image.png 然后进行编码
  • mysql.php
'; }

  • 下面测试
  • 在浏览器输入(localhost/zhibo/3/mysql.php); 因为已经把目录(C:\myphp_www\PHPTutorial\WWW)设置了网站根目录,并且配置了域名为localhost.
    然后能在浏览器看到下图

    7.1MySQL数据库的连接与查询操作
    文章图片
    image.png
    连接成功说明连接是正确的
那么数据库连接成功之后就可以对数据库进行一些查询操作了
  • 先做查询
  • mysql.php
'; }//1.查询用SELECT语句(SELECT),要进行查询首先准备一条查询语句,用$sql这个变量来保存,sql语句的关键字要求必须大写 //在这个查询语句中要求几个关键字,第一是SELECR,第二是FROM,第三是条件WHERE.这三个是最重要的关键字 //$sql = "SELECT FROM WHERE"; //(SELECT)把所有字段拿出来; (FROM)查询的表是student; 设置一下条件,只有大于60分才输出 $sql = "SELECT id,name,course,grade FROM student WHERE grade > 60"; //执行sql语句用的是mysqli_query()方法,第一个参数是当前的连接,第二个参数是要执行的sql语句; 这条语句执行完成后返回的是布尔值 //通过函数来获取既然是布尔值,用if进行判断 //它查询是结果集,结果集放到变量$result中,下面对这个结果值进行判断 $result = mysqli_query($conn,$sql); //如果结果集存在,并且至少有一条记录,不能为空.用if判断,首先这个结果集存在,然后结果集里的数据必须要有,mysqli_num_rows()能够返回结果集的记录数,参数就是当前结果集,数据大于0 if($result && mysqli_num_rows($result)>0){ //然后执行查询操作,用函数mysqli_fetch_array()可以将当前的结果集集中到一条记录,解析到一维数组中; mysqli_fetch_array()参数有两个,第一个参数是结果集对象,第二个参数是常量(有默认值可以不写), //mysqli_fetch_array($result,MYSQLI_BOTH); MYSQLI_BOTH是默认参数,mysqli_fetch_array()函数获取关联数组非常有用 //$row = mysqli_fetch_array($result,MYSQLI_BOTH); //$row = mysqli_fetch_array($result,MYSQLI_NUM); //索引数组 //$row = mysqli_fetch_array($result,MYSQLI_ASSOC); //关联数组 $row = mysqli_fetch_assoc($result); //指明返回的是关联数组 //$row = mysqli_fetch_row($result); //指明返回的是索引数组 echo '
'; print_r($row); }

  • 刷新浏览器效果图

    7.1MySQL数据库的连接与查询操作
    文章图片
    image.png
    7.1MySQL数据库的连接与查询操作
    文章图片
    image.png
  • 现在已经遍历了一条数据,那么第二条数据怎么遍历?全部?
  • 格式化数据输出并且用表格来显示 做一个表格
  • mysql.php
'; }//1.查询用SELECT语句(SELECT),要进行查询首先准备一条查询语句,用$sql这个变量来保存,sql语句的关键字要求必须大写 //在这个查询语句中要求几个关键字,第一是SELECR,第二是FROM,第三是条件WHERE.这三个是最重要的关键字 //$sql = "SELECT FROM WHERE"; //(SELECT)把所有字段拿出来; (FROM)查询的表是student; 设置一下条件,只有大于60分才输出 $sql = "SELECT id,name,course,grade FROM student WHERE grade > 60"; //执行sql语句用的是mysqli_query()方法,第一个参数是当前的连接,第二个参数是要执行的sql语句; 这条语句执行完成后返回的是布尔值 //通过函数来获取既然是布尔值,用if进行判断 //它查询是结果集,结果集放到变量$result中,下面对这个结果值进行判断 $result = mysqli_query($conn,$sql); //如果结果集存在,并且至少有一条记录,不能为空.用if判断,首先这个结果集存在,然后结果集里的数据必须要有,mysqli_num_rows()能够返回结果集的记录数,参数就是当前结果集,数据大于0 if($result && mysqli_num_rows($result)>0){ ////然后执行查询操作,用函数mysqli_fetch_array()可以将当前的结果集集中到一条记录,解析到一维数组中; mysqli_fetch_array()参数有两个,第一个参数是结果集对象,第二个参数是常量(有默认值可以不写), ////mysqli_fetch_array($result,MYSQLI_BOTH); MYSQLI_BOTH是默认参数,mysqli_fetch_array()函数获取关联数组非常有用 //$row = mysqli_fetch_array($result,MYSQLI_BOTH); //$row = mysqli_fetch_array($result,MYSQLI_NUM); //索引数组 //$row = mysqli_fetch_array($result,MYSQLI_ASSOC); //关联数组 //$row = mysqli_fetch_row($result); //指明返回的是索引数组////第一条数据 //$row = mysqli_fetch_assoc($result); //指明返回的是关联数组(因为mysqli_fetch_assoc函数执行完之后,指针自动下移到下一个元素) //echo '
'; //print_r($row); ////下一条数据 //$row = mysqli_fetch_assoc($result); //指明返回的是关联数组(因为mysqli_fetch_assoc函数执行完之后,指针自动下移到下一个元素) //echo '
'; //print_r($row); //(输出多条数据)格式化数据输出并且用表格来显示 做一个表格 //标题 echo '成绩合格学生信息表'; // 表格是用table标签,给它添加属性cellspacing="0"这样表格线就可以折叠,居中,宽度50% echo ''; //表头, 然后给表格添加属性 echo ''; //用while循环来遍历 while ($row = mysqli_fetch_assoc($result)){ //下面在循环体中给数据循环输出,给它输出一个tr标签,并且让数据居中.然后闭合标签 echo ''; //这是其中一个 echo ''; echo ''; } //当while执行完成以后,然后输出一下表格的闭合标签,这样就完成 echo '
ID姓名课程成绩
'.$row['id'].''.$row['name'].''.$row['course'].''.$row['grade'].'
'; //在表格最外面还可以输出一下当前一共查询到多少条数据 echo '共有'.mysqli_num_rows($result).'条记录
'; } else { echo '没有任何数据返回'; }

  • 效果图

    7.1MySQL数据库的连接与查询操作
    文章图片
    image.png

    推荐阅读