PHP数据访问
一、数据访问的三种方式
1.函数方式
2.面向对象方式,专门针对MySQL
3.PDO方式,针对其他数据库
二、面向对象方式,专门针对MySQL的数据访问方式,步骤如下
1. 创建一个连接对象 $db = new MySQLi("地址","用户名","密码","数据库名称")
2.判断当前连接是否正确 mysqli_connect_error()?die("连接失败!"):" "; 三元运算判断是否连接成功
3.写一个MySQL语句 $sql = "select * from student";
4.执行MySQL语句并用一个变量接收 $result = $db->query($sql); 接收的是结果(成功返回true,失败返回false)和对象(查询语句返回数据)
5.判断是否执行成功,如果是查询语句还要读取查询结果 if($result){ }
实例: 读取一个成绩单并以表格形式显示在页面
<table border="1" width="100%"> <tr> <td>学号</td> <td>班级</td> <td>成绩</td> </tr> <?php $db = new MySQLi("localhost","root","","xuexiao");//创建一个连接对象,参数依次为地址、用户名、密码、数据库名称 mysqli_connect_error()?die("连接失败"):"";//判断连接是否成功 $sql = "select * from score";//创建一个MySQL语句 $result = $db->query($sql);//执行MySQL语句并用一个变量接收,接收的是结果(成功返回true,失败返回false)和对象(查询语句返回数据) if($result){ //判断是否执行成功 while($arr = $result->fetch_row()){ //fetch_row()以一维索引数组形式提取一条数据,while循环依次输出存在一维数组中的数据 echo " <tr> <td>{$arr[1]}</td> <td>{$arr[2]}</td> <td>{$arr[3]}</td> </tr> "; //echo 输出为表格 } } ?> </table>
读取查询结果的方法
1.fetch_all() 从结果对象里读取所有数据,返回二维数组
2.fetch_array() 从结果集中读取数据,每次度一条,返回一维数组,索引和关联都有
3.fecth_assoc() 从结果集中读取数据,每次度一条,返回一维数组,只有关联数组
4.fecth_object() 从结果集中读取数据,每次度一条,返回一维数组,相当于一个对象
5.fecth_row() 从结果集中读取数据,每次度一条,返回一维数组,只有索引数组