N.1 介绍
0)PHP操作有以下三种
(1)MySQLi (面向对象,这里主要讲解这种方式)、MySQLi (面向过程)、PDO(面向对象)
(2)面向对象 和 面向过程变成 有它们自己的优势
[1] 面向过程编程:不是技术,是一种思想,一种将流程分解成小功能,然后用函数对小功能进行封装,在使用的时候调用函数去实现。
[2] 面向对象都有以下三个基本特点:封装,继承和多态
[3] 共同点
都是实现模块化编程,都能实现代码的重复利用。
[4] 不同点
面向过程效率比面向对象高,面向过程可以直接调用函数;面向对象必须先得到主体(对象),再调用内部函数;编程复杂度:面向对象要高,面向过程简称; 面向对象后期比面向过程好维护。
这里我们主要使用 面向对象 来编程;
1)持久连接和非持久连接
非持久连接在数据库操作结束后会自动关闭,持久连接会一直存在,是一种稳固持久的连接。非持久连接可以使用mysql close ()函数关闭,持久连接不能使用这个函数关闭。
(2)非持久连接属于面向过程方式: mysql-connect()()函数打开非持久的MysQL连接。
(3)持久连接属于面向对象方式: mysqli()连接,也是持久化连接,目前市场主流是mysqli连接的方式
2)有三种遍历结果的方式
mysql_fetch_row() //用"数字"索引取值
mysql_fetch_assoc() // 用"关键字"索引取值
mysql_fetch_array() // 用数字或关键字两种索引取值取值
N.2 读取数据案例
<!DOCTYPE html>、<html> </html>、<body> </body> 这三种标签是可以不写的,直接写 <?php> 标签也是可以的。 |
<!DOCTYPE html> <html> <body> <h1>My first PHP page</h1> <?php $servername = "localhost"; $username = "root"; $password = "a"; $dbname = "test"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 连接失败 if ($conn->connect_error) { //->调用方法或属性的意思 die("连接失败: " . $conn->connect_error); } //查询数据 $sql = "SELECT * FROM wc"; $result = $conn->query($sql); // 输出数据 if ($result->num_rows > 0) { // 行数大于0 while($row = $result->fetch_assoc()) { echo $row["word"] . " " . $row["num"] . "\n"; // 浏览器使用功能 <br> 换行符号,idea 使用 \n 换行符 // .表示拼接字符串 } } else { echo "0 结果"; } //关闭连接 $conn->close(); ?> </body> </html> |
[1] 数据库
[2] 在idea运行查看,或在发布到nginx服务器,在浏览器查看
[3] 放在cmd命令下远行也是可以的
N.3 读取数据返回json格式
<!DOCTYPE html>、<html> </html>、<body> </body> 这三种标签是可以不写的,直接写 <?php> 标签也是可以的。 |
<?php header("Access-Control-Allow-Origin:*");//解决跨域请求问题 header('Access-Control-Allow-Methods:POST'); header('Access-Control-Allow-Headers:x-requested-with, content-type'); header("content-Type: text/json; charset=utf-8");//字符编码设置 //两种参数 "content-Type: text/html , "content-Type: text/json $servername = "localhost"; $username = "root"; $password = "a"; $dbname = "test"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 连接失败 if ($conn->connect_error) { //->调用方法或属性的意思 die("连接失败: " . $conn->connect_error); } //查询数据 $sql = "SELECT word,num FROM wc"; $result = $conn->query($sql); $arr = array(); // 遍历赋值 if ($result->num_rows > 0) { // 行数大于0 while($row = $result->fetch_assoc()) { array_push($arr,$row); // 把row插入到arr里面 } } else { echo "没有数据"; } // 输出json echo json_encode($arr,JSON_UNESCAPED_UNICODE);//json编码 //关闭连接 $conn->close(); ?> |
在idea运行查看,或在发布到nginx服务器,在浏览器查看