PHP的本质也是在PHP程序中通过运行SQL语句来操作数据库,PHP提供了专门的方法来对MySQL数据库进行操作,并且获取操作结果
方法有3种方法①mysql函数库,弃用②mysqli函数库③PDO函数库,必须7.0以上版本才可以
通过mysqli函数库方法来操作MySQL数据库有5个固定步骤
①连接登录
$link = mysqli_connect(地址,账号,密码,库名,端口);
②定义要执行的SQL语句
$sql = "SQL语句";
③执行SQL语句
$result = mysqli_query($link,$sql);
④获取执行结果
$arr = mysqli_fetch_all($result , MYSQLI_ASSOC);
⑤关闭数据库
mysqli_close($link);
▲连接登录MySQL数据库:mysqli_connect() 连接登录数据库的方法
参数1:MySQL数据库的地址,当前使用的是本地数据库, ‘localhost’ 或者 ‘127.0.0.1’
参数2:登录MySQL的账号,如 ‘root’
参数3:登录MySQL的密码,如 ‘root’
参数4:使用数据库的名称,如’nz2002’
参数5:MySQL数据库的端口号,如3306
$link = mysqli_connect('localhost','root','root','nz2002',3306);
echo '<pre>';
print_r($link);
echo '</pre>';
如果连接成功会返回一个对象,其中存储很多的连接信息。如果连接失败,程序执行报错。参数的顺序一定不能变
▲定义需要执行的SQL语句
①定义的SQL语句,实际上就是需要执行的SQL语句程序,以字符串的形式来定义
②定义SQL语句,最外层要使用双引号,为了如果有变量可以解析变量
③双引号之内,只能使用单引号
④定义的SQL语句中可以没有分号结束,因为此时并不是真的执行SQL语句,只是来定义
⑤变量一定要会用{}包裹,防止发生冲突
⑥要确保编码格式正常,这样才能正常的查询设定中文
查询所有姓何的学生名单
$str = 'name';
// 查询结果,mysqli_query()执行结果是结果集对象
$sql1 = "SELECT * FROM `student` WHERE `{$str}` LIKE '何%'";
// 给student表结构中age字段的所有数据都+1
$sql2 = "UPDATE `student` SET `age` = `age`+1";
// 设定SQL语句的编码格式,只要数据库格式设定正确一般都可以保证编码格式是utf8。为了保险起见。或者查询结果中中文显示是乱码,可以指定编码格式是utf8
mysqli_query($link,"SET NAMES utf8");
▲执行SQL语句
mysqli_query() 执行SQL语句的方法
参数1:链接MySQL数据集的执行,要使用连接成功后对象中的相关信息
参数2:定义的SQL语句
查询结果是一个对象形式,如果编码格式设定有问题,执行结果就会有问题,执行就会报错
$result = mysqli_query($link,$sql2);
var_dump($result);
echo '<pre>';
print_r($result);
echo '</pre>';
▲获取具体的执行结果
从结果集对象中抽取具体的数据内容,组成新的数组形式存储
参数1:执行SQL语句的结果集对象
参数2:设定数组的索引下标的形式
MYSQLI_ASSOC 数组索引下标,是字段名称,数组形式与数据库内容形式相互对应
$arr = mysqli_fetch_all($result,MYSQLI_ASSOC);
echo '<pre>';
print_r($arr);
echo '</pre>';
▲操作结束关闭数据库
参数:链接数据库结果
mysqli_close($link);
以上步骤都是固定的,只有定义SQL语句要自己根据实际情况填写