13.1 数据库连接步骤
我们为大家将数据库连接整理成了最重要的 8 个步骤,我戏称它为:“数据库连接天龙八步”。
这八个步骤如下,并且将每一步使用的函数都做了说明:
第一步: 连接数据库服务器
类型 | 说明 |
---|---|
函数 | mysqli_connect |
功能 | 连接到 mysql 数据库服务器 |
参数 1 | 主机 |
参数 2 | 数据库服务器登陆名 |
参数 3 | 密码 |
参数 4 | 数据库的名称 |
参数 5 | 数据库服务器端口不填默认 3306 |
若参数 4,数据库名称在此步已填,则不需要再执行第三步。
第二步: 判断错误
类型 | 说明 |
---|---|
函数 | mysqli_errno |
功能 | 返回连接错误号,无错误返回 0 |
参数 1 | 传入 mysqli_connect 返回的资源 |
类型 | 说明 |
---|---|
函数 | mysqli_error |
功能 | 返回连接错误字符串 |
参数 1 | 传入 mysqli_connect 返回的资源 |
第三步: 选择数据库
类型 | 说明 |
---|---|
函数 | mysqli_select_db |
功能 | 选择本连接中的数据库 |
参数 1 | 传入 mysqli_connect 返回的资源 |
参数 2 | 需要连接的数据库名 |
若在第一步已填数据库,不需要更换成其他数据库,则不需要执行第三步。
第四步: 设置字符集
类型 | 说明 |
---|---|
函数 | mysqli_set_charset |
功能 | 设置与 mysql 服力器连接,结果,校验字符集 |
参数 1 | 传入 mysqli_connect 返回的资源 |
参数 2 | 字符集类型 |
更多注意项,请关注本书《13.6 数据显示乱码终极解决方案》
第五步: 准备 SQL 语句
其实就是一个 SQL 语句的字符串。
例如:
$sql = "insert into user(username,password) values('$username','$password')";
我们通常要把变量赋值在 SQL 语句中使用。可是变量或者 SQL 语句出错了,非常不好排查。
我们根据实际工作经验增加了这一步。
如果在执行此步的时候报错了,我们可以把 SQL 语句打印出来,粘贴到 phpMyAdmin 或者相关工具中。
排错时,如果执行成功就说明不是 SQL 语句的问题。如果执行失败,请仔细检查 SQL 语句。
第六步: 发送 SQL 语句
类型 | 说明 |
---|---|
函数 | mysqli_query |
功能 | 发送 SQL 语句 |
参数 1 | 传入 mysqli_connect 返回的资源 |
参数 2 | 传入发送的 SQL 语句 |
SQL 语句准备完成,需要通过 mysqli_query 将 SQL 语句发送给 MySQL 服务器。
MySQL 服务器会执行发送过来的 SQL 语句进行执行。
第七步: 判断是否执行正常或者遍历数据
读取
第 6 步中,发送的是 select 类别的语句,通常需要将结果输出显示出来。就需要用到遍历显示数据的函数。
类型 | 说明 |
---|---|
函数 | mysqli_fetch_array |
功能 | 得到 result 结果集中的数据,返回数组进行便利 |
参数 1 | 传入查询出来的结果变量 |
参数 2 | 传入 MYSQLI_NUM 返回索引数组,MYSQLI_ASSOC 返回关联数组,MYSQLI_BOTH 返回索引和关联 |
类型 | 说明 |
---|---|
函数 | mysqli_fetch_assoc |
功能 | 得到 result 结果集中的数据,返回关联数组进行便利 |
参数 1 | 传入查询出来的结果变量 |
类型 | 说明 |
---|---|
函数 | mysqli_fetch_row |
功能 | 得到 result 结果集中的数据,返回索引数组进行便利 |
参数 1 | 传入查询出来的结果变量 |
类型 | 说明 |
---|---|
函数 | mysqli_fetch_object |
功能 | 得到 result 结果集中的数据,返回对象进行遍历 |
参数 1 | 传入查询出来的结果变量 |
类型 | 说明 |
---|---|
函数 | mysqli_num_rows |
功能 | 返回查询出来的结果总数 |
参数 1 | 传入查询出来的结果变量 |
类型 | 说明 |
---|---|
函数 | mysqli_num_rows |
功能 | 返回查询出来的结果总数 |
参数 1 | 传入查询出来的结果变量 |
注 | 实际工作中用得非常少,了解 |
写入
第 6 步中,如果发送的是 insert 的语句,通常需要得到是否执行成功,或者同时拿到自增的 ID。
类型 | 说明 |
---|---|
函数 | mysqli_fetch_field |
功能 | 遍历数据行 |
参数 1 | 传入查询出来的结果变量 |
修改和删除
第 6 步中,如果发送的是 update 和 delete 类别的语句。只需要判断是否执行成功即可。
我们将这些常用函数列出数据表给给大家查看。
第八步: 关闭数据库
类型 | 说明 |
---|---|
函数 | mysqli_close |
功能 | 关闭数据库连接 |
参数 1 | 传入 mysqli_connect 返回的资源 |
数据库连接是一个资源类型。我们在之前的章节中讲解资源类型的时候跟大家说过。凡是涉及到数资源类型的有打开就有关闭。这样能够保证 PHP 更高效的处理和回收资源。
因此,数据库连接成功后,不需要使用的时候。我们可以关闭这个连接。
其他:显示服务器信息函数
类型 | 说明 |
---|---|
函数 | mysqli_get_server_info |
功能 | 返回服务器信息 |
参数 1 | 传入 mysqli_connect 返回的资源 |
类型 | 说明 |
---|---|
函数 | mysqli_get_server_version |
功能 | 返回服务器版本 |
参数 1 | 传入 mysqli_connect 返回的资源 |
注意:
mysqli 只学过程化的方法即可。在面向对象阶段实际工作中完全抛弃了 mysqli 的对象用法,而是使用的是 PDO 对象连接数据库的方式。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论