php检查MySQL的支持是否开启?

若没有看到mysqli扩展在windows服务器下,打开php.ini文件,将php_mysqli.dll打开即可!

注意:

从PHP7开始默认不再支持mysql扩展,即不再支持mysql_*系列函数。请使用mysqli连接数据库。

mysqli即支持php5也支持php7。

数据库连接天龙八步

第一步: 连接数据库服务器

类型 说明
函数 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 字符集类型

第五步: 准备SQL语句

其实就是一个SQL语句的字符串。

例如:

sql="insertintouser(username,password)values(′" role="presentation" style="position: relative;">sql="insertintouser(username,password)values(′sql="insertintouser(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返回的资源

注意:PDO的连接方式才是王道

mysqli只学过程化的方法即可。在面向对象阶段实际工作中完全抛弃了mysqli的对象用法,而是使用的是PDO对象连接数据库的方式。

前端PHP入门-033-连接数据库-天龙八步的更多相关文章

  1. MySQL原生PHP操作-天龙八步

    <?php //1.第一步[建立连接] $conn = mysqli_connect('localhost','root','123456') or die('数据库连接失败!'); //2.第 ...

  2. 前端基础:”天龙八步“细说浏览器输入URL后发生了什么

    参考:https://www.xuecaijie.com/it/157.html#1Q64p5DeC8dKFF 本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务 ...

  3. 天龙八步&quot;细说浏览器输入URL后发生了什么

    本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应结果: 6.关闭TCP连接: 7.浏览器解析HTML: 8.浏览器布局渲染: 总结 输 ...

  4. “天龙八步”细说浏览器输入URL后发生了什么

    本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应结果: 6.关闭TCP连接: 7.浏览器解析HTML: 8.浏览器布局渲染: 总结 输 ...

  5. Web前端小白入门指迷

    前注:这篇文章首发于我自己创办的服务于校园的技术分享 [西邮 Upper -- 004]Web前端小白入门指迷,写得很用心也就发在这里. 大前端之旅 大前端有很多种,Shell 前端,客户端前端,Ap ...

  6. openresty 前端开发入门五之Mysql篇

    openresty 前端开发入门五之Mysql篇 这章主要演示怎么通过lua连接mysql,并根据用户输入的name从mysql获取数据,并返回给用户 操作mysql主要用到了lua-resty-my ...

  7. 每天成长一点---WEB前端学习入门笔记

    WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...

  8. 使用 gulp 搭建前端环境入门篇(转载)

    本文转载自: 使用 gulp 搭建前端环境入门篇

  9. Bootstrap入门(二十八)JS插件5:工具提醒

    Bootstrap入门(二十八)JS插件5:工具提醒 工具提示在使用过程中比较常见,但是实现起来有些麻烦,而bootstrap则很好地解决了这个问题. 我们来写一个简单的实例 先引入CSS文件和JS文 ...

随机推荐

  1. [redis] linux下哨兵篇(3)

    一.前言1.为何部署sentinel哨兵前文redis主从架构中,当主服务故障时,需要手动将从服务切换为主服务,sentinel服务就是将这个过程自动化.主要功能有:1)不时监控主从服务正常运行2)可 ...

  2. react native中props的使用

    react native中props的使用 一.props的使用 1:父组件传递的方式 在子组件中可以用this.props访问到父组件传递的值 <View> <Text> { ...

  3. “Hello World!”团队第七周召开的第一次会议

    今天是我们团队“Hello World!”团队第七周召开的第一次会议.博客内容: 一.会议时间 二.会议地点 三.会议成员 四.会议内容 五.Todo List 六.会议照片 七.燃尽图 一.会议时间 ...

  4. CocoaPods 创建私有仓库

    这里有个坑首先需要注意,创建私有cocoapods仓库需要两个git仓库,即代码仓库,Specs文件仓库. 一.创建私有库 1.创建自己源码仓库,假设是A.git; 2.对A仓库: git add . ...

  5. 第15章 磁盘配额(Quota)与高级文件系统管理

    磁盘配额(quota)的应用与实践 什么是quota 举例来说,用户的默认主文件夹是在/home下面,如果/home是个独立的分区,假设是10G,/home下有30个账号,这样30个用户共享这10G的 ...

  6. jdbc 6.0

    1.获取数据库自动生成的键值 package com.rong.jielong; import java.sql.Connection; import java.sql.DriverManager; ...

  7. 【Java】对ArrayList排序

    java如何对ArrayList中对象按照该对象某属性排序 (从小到大) 两种方法: 方法一:Comparator<KNNNode> comparator = new Comparator ...

  8. docker 开启远程

    # vi /etc/init.d/docker   在start()中加入:$exec -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock -d & ...

  9. rxjs5.X系列 —— ErrorHandling/Condition/Mathematical系列 api 笔记

    欢迎指导与讨论 : ) 前言 本文是笔者翻译 RxJS 5.X 官网各类operation操作系列的的第四篇 —— ErrorHanding异常处理.Condition Operator情况操作.Ma ...

  10. Linux服务器开启tomcat的gc日志

    压力测试,为了能监控长期对gc的变化的情况,那么就需要在tomcat中进行配置相关的gc输入日志,以便后续来对gc中进行分析 工具 :linux+tomcat 1.进入到了tomcat的bin的目录下 ...