MySQLi扩展的使用
1.连接数据库
MySQLi扩展为PHP与数据库的连接提供了mysqli_connect()函数
mysqli mysqli_connect (
string $host = ini_get(‘mysqli.default_host’), // 主机名或IP
string $username = ini_get(‘mysqli.default_user’), // 用户名
string $passwd = ini_get(‘mysqli.default_pw’), // 密码
string $dbname = ‘’, // 数据库名
int $port = ini_get(‘mysqli.default_port’), // 端口号
string $socket = ini_get(‘mysqli.default_socket’) // socket通信
)
> 函数共有6个可选参数,省略时将自动使用php.ini中配置的默认值
> 连接成功时,该函数返回一个表示数据库连接的对象
> 连接失败时,函数返回false,并提示Warning级错误信息
> 参数$socket表示mysql.sock文件路径(用于Linux环境),通常不需要手动设置
2.执行SQL语句
在MySQLi扩展中,通常使用mysqli_query()函数发送SQL语句,获取执行结果。
mixed mysqli_query (
mysqli $link, // 数据库连接
string $query, // SQL语句
int $resultmode = MYSQLI_STORE_RESULT // 结果集模式(可选)
)
> $link表示通过mysqli_connect()函数获取的数据库连接
> $query表示SQL语句
执行SELECT、SHOW、DESCRIBE或EXPLAIN查询时,返回值是查询结果集,而执行其他查询,执行成功返回true,否则返回false。
此外,可选参数$resultmode表示结果集模式,其值可以是以下两种常量。
> MYSQLI_STORE_RESULT模式:会将结果集全部读取到PHP端
> MYSQLI_USE_RESULT模式:仅初始化结果集检索,在处理结果集时进行数据读取。
3.处理结果集
函数mysqli_query()在执行SELECT、SHOW、EXPLAIN或DESCRIBE的SQL语句后,返回的是一个资源类型的结果集。因此,需使用函数从结果集中获取信息。
函数名 | 描述 |
---|---|
mysqli_num_rows() | 获取结果中行的数量 |
mysqli_fetch_all() | 获取所有的结果,并以数组方式返回 |
mysqli_fetch_array() | 获取一行结果,并以数组方式返回 |
mysqli_fetch_assoc() | 获取一行结果并以关联数组返回 |
mysqli_fetch_row() | 获取一行结果并以索引数组返回 |
> 函数mysqli_fetch_all()和mysqli_fetch_array()的返回值,都支持关联数组和索引数组两种形式
> 第1个参数表示结果集
> 第2个参数是可选参数,用于设置返回的数组形式,其值是一个常量
函数mysqli_fetch_all()和mysqli_fetch_array()的返回常量。
> MYSQLI_ASSOC:表示返回的结果是一个关联数组
> MYSQLI_NUM:表示返回的结果是一个索引数组
> MYSQLI_BOTH:表示返回的结果中包含关联和索引数组,该常量为默认值
4.其他操作函数
MySQLi扩展不仅为PHP连接数据库、执行SQL语句提供了函数,还为方便开发提供很多其他常用的操作函数。
例如,获取插入操作时产生的ID号、SQL语句中特殊字符的转义等。
函数名 | 描述 |
---|---|
mysqli_insert_id() | 获取上一次插入操作时产生的ID号 |
mysqli_affected_rows() | 获取上一次操作时受影响的行数 |
mysqli_real_escape_string() | 用于转义SQL语句字符串中的特殊字符 |
mysqli_error() | 返回最近函数调用的错误代码 |
mysqli_free_result() | 释放结果集 |
mysqli_close() | 关闭数据库连接 |
> mysqli_free_result()函数用于释放结果集占用的系统内存资源
> mysqli_close()函数用于释放打开的数据库连接
MySQLi扩展的使用相关推荐
- php 开启mysql_php如何开启mysqli扩展
php开启mysqli扩展的方法:首先打开php.ini配置文件:然后找到[extension=php_mysqli.dll],并取消注释:最后找到[extension_dir],设置ext路径即可. ...
- php操作mysql数据库的扩展有哪些_8.PHP操作MySQL数据库(Mysqli扩展)
思考:如果数据库的操作都是需要我们手动去调用客户端发送指令,那么这样的操作有什么意义呢? 引入:手动通过客户端操作MySQL数据库,只是我们学习SQL的一种手段.要实现数据库的自动调用,就需要客户端能 ...
- PHP的mysqli扩展
PHP的mysqli扩展: 一.php.ini需要开启extension=php_mysqli.dll mysqli主要包括:mysqli.mysqli_result.mysql_stmt三个类,通过 ...
- php7不支持mysql扩展了么_php7不支持mysql扩展需要改成mysqli扩展
最近升级php7发现不支持mysql扩展,需要改成用mysqli扩展 看代码class Db{ private $username = ''; private $password = ''; priv ...
- wordpress php7 mysql_WordPress可以使用PHP7的MySQLi扩展
PHP7在安装的时候,数据库支持的编译安装选项是--with-mysqli,原来的mysql没有了. 在WordPress5.0之前,麦新杰在PHP7中,使用的都是动态编译的mysql.so. 前几天 ...
- mysqli 扩展_MySQLi的优势
1. 功能增加了 2,效率大大增加(以后的PHP项目改成mysqli) 3,更稳定 mysqli使用面向对象技术,但也支持过程化的使用方式 mysqli扩展中给我提供了三个类: 1. mysqli和连 ...
- mysql5.5 mysqli_php5.5.38增加mysqli扩展
php5.5.38增加mysqli扩展 发布时间:2020-08-28 03:43:17 来源:51CTO 阅读:1148 作者:xingyun2010 编译的时候正常: ./configure -- ...
- mysql报11004_使用mysqli扩展技术查看服务器连接错误报告的方法
使用mysqli扩展技术查看服务器连接错误报告的方法 作为PHP的黄金搭档MySQL数据库,在PHP项目开发过程中有着举足轻重的作用,这不仅因为MySQL是完全免费的,而且和PHP一样都是完全跨平台的 ...
- php7.1安装mysqli扩展,centos php7 安装mysqli扩展心得
在新配服务器时发现,php无法连接到mysql.通过phpinfo发现.根本没有显示mysqli的相关配置.经过一系列研究.总结了下.: 第一步: 在phpinfo里没有mysqli配置,原因是安装p ...
- php5.3 gd库,php5.3动态编译gd库 zlib扩展 mcrypt扩展 mysqli扩展
编译gd cd /usr/local/src/php-5.3.5/ext/gd 一定要在这个目录下执行 /usr/local/php/bin/phpize 接着在当前目录下执行: ./configur ...
最新文章
- 如何判断Android手机当前是否联网
- lintcode :Partition List 链表划分
- iOS开发笔记[18/50]:在Mac OS X Lion系统中访问~/Library目录都需要点技巧
- 终于用到DataGrid了,比较郁闷
- ubuntu 启动图形界面命令_Windows 10 远程连接 Ubuntu 18.04 Server图形界面
- java集合类分析-hashset
- Spring:与Redis的集成
- Shell编程进阶 1.3data命令
- dorado7-发布
- 开源 java CMS - FreeCMS2.7 移动端栏目页静态化
- 2018杭电多校第六场1009(DFS,思维)
- python中返回上一步操作的快捷键_在计算机中返回上一步的快捷键
- 教育技术资源大全(05-11-28)
- Java中的私有权限(private)
- 201871010109-胡欢欢《面向对象程序设计(java)》第四周学习总结会
- [Windows10]Win10如何获取最高管理员权限
- hexo categories和tags页面不显示解决办法
- win32获取本地ip
- 原神白铁矿位在哪里 原神白铁矿采集点位置分布图
- JS--数据类型--渡一教育(视频笔记)