PHP&MySQL基础(一):创建数据库并通过PHP进行连接_长风沛雨的博客-CSDN博客
前面创建了一个数据库和表,并且用 mysqli()实例化了一个连接对象$link
这篇记一下怎么用实例化对象去对表进行一个增删改查操作
目录
一、连接数据库,并处理连接异常,同时统一字符集编码
二、增
三、改
四、删
五、查
六、关闭数据库
一、连接数据库,并处理连接异常,同时统一字符集编码
我们需要先连接数据库,也就是实例一个 mysqli()的连接类,并且,我们需要对返回的连接对象做一个错误的处理
<?php
//1、连接数据库
$link = new mysqli('localhost','root','123456','db_test','3306');
// var_dump($link);
//2、错误连接处理
if($link->connect_error){ # 判断如果link对象里面的异常不为空
switch($link->connect_error){
case 1045 : echo " 访问被拒绝,可能用户名或者密码错位";
break;
case 1049 : echo " 数据库名称错位";
break;
default:break;
}
}else{
//连接不存在问题,开始处理操作功能
//3、统一字符编码:使用连接对象自带的query方法执行sql语句,该sql是用来设置字符集编码
$link->query("SET NAMES utf8");
//我们也可以使用下面的两个方法(选其一)来设置字符集编码
// mysqli_query($link,"SET NAMES utf8"); // 全局执行sql语句的函数
// mysqli_set_charset($link,'utf8'); // 专门用于设置数据库操作时的字符集编码的函数
//接下来的代码用来处理需求功能
}
?>
二、增
先编写一个对数据库进行增加的操作
需求使用到的:连接对象->query($sql)
query():用来执行sql语句
//4、处理数据库的增加操作
//4.1 编写新增的SQL语句
$addSql = "INSERT INTO tb_user(userName,pwd,phone,birthday,email)
VALUES ('张三','123456789','10086','2023-05-30','10000@163.com')";
//4.2 执行增加的sql语句
//通过php中连接对象的query()方法,即可执行sql语句并返回一个值:插入成功返回true,否则false
$res = $link->query($addSql);
var_dump($res);
这是为运行前的表格数据
执行增加操作
可以看到代码里输出的 $res,返回了一个 true 的值,就是表示增加操作成功了
看一下数据库的表
没有问题
三、改
我这里把表中的第一条数据Tom的值修改举例子
这是对应的sql
UPDATE `tb_user` SET `userName` = 'Tom大哥', `pwd` = '123456789' WHERE `tb_user`.`id` = 1
在PHP中跑起来
//5、处理数据库的修改操作
/*
修改:修改成功返回true,修改失败返回false
*/
//5.1 编写修改的sql
$updateSql = "UPDATE `tb_user` SET `userName` = 'Tom大哥', `pwd` = '123456789' WHERE `tb_user`.`id` = 1";
//5.2 执行sql
$res = $link->query($updateSql);
//5.3 查看结果
var_dump($res);
先看一下第一行的数据
运行代码
返回的结果为true,回去看一下表
修改同样没有问题
四、删
进行删除的处理也是比较跟上面的操作一样的
在这里尝试把id为4的数据删除掉
编写删除的代码
/*
六、执行删除的操作:
删除成功返回true,删除失败返回false
*/
//6.1 编写删除的sql
$deleteSql = "DELETE FROM `tb_user` WHERE id = 4";
//6.2 进行删除
$res = $link->query($deleteSql);
var_dump($res);
跑一下代码
返回的也是一个true,再看一下数据库
删除成功~
五、查
查询可以指定id查询,也可以直接查询全部的数据,查询可以拓展的东西就比较多一点
这里就简单查询一下全部的数据和指定id的数据
/*
七、查:查询结果是一个mysqli_result 结果集
*/
//7.1 查询指定的id数据
$selectIdSql = "select * from tb_user where id = 1";
$res1 = $link->query($selectIdSql);
var_dump($res1);
//7.2 查询表中的全部数据
$selectAllSql = "select * from tb_user";
$res2 = $link->query($selectAllSql);
var_dump($res2);
输出一下返回的结果
返回的是一个结果集,这些字段的意思是:
1、num_rows:查询出来的条数
2、field_count:查询的字段数量
六、关闭数据库
在数据库处理异常的else分支的代码块末尾中,当我们执行完毕sql操作以后,就应该关闭掉数据库的连接,释放资源
//关闭数据库的连接
mysqli_close($link); //销毁掉数据库连接对象,释放资源