JS-part16.3- PHP操作mysql数据库流程

本文介绍了PHP连接和操作MySQL数据库的基本流程,包括建立连接、执行SQL语句(查询、插入、删除、修改)及解析查询结果。还讨论了字符集设置、JSON格式在PHP中的应用,并提供了一个简单的登录案例。
摘要由CSDN通过智能技术生成

数据库相关知识见数据库分栏
数据库基础
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>'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值