PHP
数据库相关知识见数据库分栏
数据库基础
PHP与MYSQL开发-乱码问题,要注意三个地方: 连接数据库的字符集设置/数据表本身的字符集设置/页面meta的字符集设置
用如下方法改了/etc/mysql/my.cnf后正常显示中文了
ubuntu MySQL配置文件
php脚本不报错问题
了解 mysql 数据库
+ 关系型数据库
+ 存储数据的 "仓库"
+ mysql 数据库管理系统是由很多的 database(库) 组成
=> 一个网站的库放在一个 库 里面
+ 每一个 库 由多个 表 组成
=> 一类数据存储在一个表上
+ 每一个表 由 表头 和 表体 组成
=> 我们叫做 字段 和 数据
导入 sql 文件
+ 注意下字符集 UTF-8
PHP 操作数据库的基础语法
1. 和数据库建立连接
-> 保证 mysql 是启动的
-> 语法: $link = mysqli_connect('IP', '数据库用户名', '数据库密码', '你要操作哪个库')
=> IP: 你要访问的数据库所在的电脑的 IP 地址, 本机 localhost 或者 127.0.0.1
=> 返回值: 一个连接信息
2. 执行 sql 语句操作数据库
+ sql 语句是操作 MySQL 数据库的唯一方法
+ 不管你执行的是增删改查, 都是使用一个方法, 只是不同的 sql 语句
+ 语法: $res = mysqli_query(数据库连接信息, 要执行的 sql 语句)
+ 返回值: sql 语句的执行结果
3. 解析查询结果
+ 注意: 只有查询的 sql 语句需要解析
-> 增删改不需要解析
-> 增: 增加成功(true), 增加失败(false)
-> 删: 删除成功(true), 删除失败(false)
-> 改: 修改成功(true), 修改失败(false)
-> 查: 查询成功(查询结果), 查询失败(报错)
=> 语法: $data = mysqli_fetch_all(要解析的数据, 解析的数据格式)
-> 要解析的数据: mysqli_query 的返回值
-> 解析的数据格式: MYSQLI_ASSOC, 解析成关联型数组
// header('content-type: text/html; charset=utf-8');
// 1. 建立连接
$link = mysqli_connect('localhost', 'root', '123456', 'testdb');
// print_r($link);
// 2. 准备一个 sql 语句
$sql = 'SELECT * FROM `student`';
$res = mysqli_query($link, $sql);
// print_r($res);
// 3. 解析查询结果
$data = mysqli_fetch_all($res, MYSQLI_ASSOC);
// print_r($data);
// 用 json 格式打开
echo json_encode($data);
$link返回的数据库连接信息
解析前$res返回结果
解析后$data返回结果
用 json 格式, 用插件打开结果
php 的 json 格式
+ php 的数据格式转换成 json 格式字符串
=> json_encode(php 数据格式)
+ json 格式字符串转换成 php 的数据格式
=> json_decode(json 格式字符串)
$arr = ["hello" => "world", "name" => "Jack"];
print_r($arr);
这时, 这个数组 JS 是不认识的, 所以要将他转换成 json 格式
// 1. 把 php 的格式转换成 json 格式字符串
$jsonStr = json_encode($arr);
echo '<br>'