php+mysql操作

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服务器,在浏览器查看

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

研发咨询顾问

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值