可以说它的祖先,也就是 MySQL(原始) 扩展是我们很多人刚开始学习 PHP 时连接数据库的入门导师。不过随着时代的变迁,MySQL(原始) 扩展在 PHP7 中已经被彻底废弃了。...现在如果想要使用过程式的代码来操作数据库,只能使用 mysqli 扩展了。当然,mysqli 扩展也是支持面向对象式的写法的。...,MySQL(原始)扩展肯定是不推荐了,就算是老的项目,只要是支持 PDO 或 MySQLi 的 PHP 版本,都应该考虑将数据库的连接转换成这两种方式之一。...如果你还在 PHP5 的环境中学习 MySQL(原始)扩展的使用的话,也可以放下了。 而对于 PDO 和 MySQLi 的选择来说,就仁者见仁智者见智了。...扩展的安装及 MySQL8 需要注意的地方 MySQLi 的扩展是随 PHP 源码一起发布的,我们在编译 PHP 的时候加上 --with-mysqli 就可以了。
PHP开发中,使用Mysql扩展来链接Mysql数据库进行增删改查等操作。 在选择Mysql扩展的时候,官方提供了两种: MySQL 原始版。...从 PHP 5.5.0 起这个扩展已经被废弃,并且从 PHP 7.0.0. 开始被移除。 作为替代,可以使用 mysqli 或者 PDO_MySQL 扩展代替。 MySQL 增强版。...mysqli扩展允许我们访问MySQL 4.1及以上版本提供的功能。...相关概念 MySQL 与 MySQLi 都是PHP方面的函数集。 在 PHP5 版本以后,增加了mysqli的函数功能。 某种意义上讲,它是MySQL系统函数的增强版,更稳定更高效更安全。...建议 PHP版本为5.x建议使用 mysqli 扩展。 PHP版本为7 只能使用 mysqli 扩展。 Thanks ~
PHP中的MySQLi扩展学习(一)MySQLi介绍 关于 PDO 的学习我们告一段落,从这篇文章开始,我们继续学习另外一个 MySQL 扩展,也就是除了 PDO 之外的最核心的 MySQLi 扩展。...可以说它的祖先,也就是 MySQL(原始) 扩展是我们很多人刚开始学习 PHP 时连接数据库的入门导师。不过随着时代的变迁,MySQL(原始) 扩展在 PHP7 中已经被彻底废弃了。...如果你还在 PHP5 的环境中学习 MySQL(原始)扩展的使用的话,也可以放下了。 而对于 PDO 和 MySQLi 的选择来说,就仁者见仁智者见智了。...扩展的安装及 MySQL8 需要注意的地方 MySQLi 的扩展是随 PHP 源码一起发布的,我们在编译 PHP 的时候加上 --with-mysqli 就可以了。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/4.PHP中的MySQLi扩展学习(一)MySQLi
PHP中的MySQLi扩展学习(三)mysqli的基本操作 我们继续 MySQLi 扩展的学习,上篇文章中提到过,MySQLi 的扩展相对于 PDO 来说功能更加的丰富,所以我们依然还会在学习过程中穿插各种...它就相当于是为执行获取下一个结果的操作做准备,也可以看作是将游标移动到了下一条 SQL 语句上。而 more_results() 方法就是判断是否还有更多的语句没有执行。...var_dump($mysqli->next_result()); echo '========', PHP_EOL; } while($mysqli->more_results() ); //...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/6.PHP中的MySQLi扩展学习(三)mysqli...的基本操作.php 参考文档: https://www.php.net/manual/zh/book.mysqli.php
我们继续 MySQLi 扩展的学习,上篇文章中提到过,MySQLi 的扩展相对于 PDO 来说功能更加的丰富,所以我们依然还会在学习过程中穿插各种 MySQLi 中好玩的方法函数。...'条:', PHP_EOL; $i++; $result = $mysqli->use_result(); var_dump($result); var_dump($mysqli...->next_result()); echo '========', PHP_EOL;} while($mysqli->more_results() );// 第1条:// bool(false)...它就相当于是为执行获取下一个结果的操作做准备,也可以看作是将游标移动到了下一条 SQL 语句上。而 more_results() 方法就是判断是否还有更多的语句没有执行。...'条:', PHP_EOL; $i++; $result = $mysqli->store_result(); var_dump($result); var_dump($mysqli
PHP中的MySQLi扩展学习(六)MySQLI_result对象操作 在之前的文章中,我们就已经接触过 MYSQLI_result 相关的内容。它的作用其实就是一个查询的结果集。...总结 至此,MySQLi 相关扩展的学习我们也就告一段落了,其它的一些类和函数比如 MySQLI_Driver 、 MySQLI_Exception 之类的内容大家可以自行查阅相关的文档,内容都不是很多...总体来说,整个 PHP 中和 MySQL 打交道的官方扩展我们就已经全部学习完了,PDO 和 MYSQLi 这两个扩展大家更主要的还是要掌握它们的区别和联系。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/9.PHP中的MySQLi扩展学习(六)MySQLI_result...对象操作.php 参考文档: https://www.php.net/manual/zh/class.mysqli-result.php
; $username='mysqli_username'; $password='mysqli_password'; $salt = 'mysqli_salt'; $stmt->bind_param...可以看出,MySQLI_STMT 的错误属性和信息基本和 MySQLi 对象的是一样的。 列绑定 除了请求查询语句参数的绑定之外,MySQLI_STMT 也是支持直接绑定列的。...int(3) // } while($stmt->fetch()){ printf("%s %s %s %s", $col1, $col2, $col3, $col4); echo PHP_EOL...当使用 fetch() 进行查询结果对象的遍历时,就像使用引用的方式为这 4 个列变量赋值。...data_seek(5); $stmt->fetch(); printf("%s %s %s %s", $col1, $col2, $col3, $col4); // 47 kkk 666 k6 echo PHP_EOL
PHP中的MySQLi扩展学习(五)MySQLI_STMT对象操作 就像 PDO 中的 PDO_Statment 对象一样,MySQLI_STMT 对象也是一个预处理语句所形成的对象,专门用来操作 MySQLi...int(3) // } while($stmt->fetch()){ printf("%s %s %s %s", $col1, $col2, $col3, $col4); echo PHP_EOL...当使用 fetch() 进行查询结果对象的遍历时,就像使用引用的方式为这 4 个列变量赋值。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/8.PHP中的MySQLi扩展学习(五)MySQLI_STMT...对象操作.php 参考文档: https://www.php.net/manual/zh/book.mysqli.php
对于 MySQLi 来说,事务和预处理语句当然是它之所以能够淘汰 MySQL(原始) 扩展的资本。我们之前也已经学习过了 PDO 中关于事务和预处理语句相关的内容。...而在 MySQLi 中,我们则需要指定 MySQLi_Driver 对象中的报错属性为抛出异常,很明显,MySQLi_Driver 就是 MySQLi 的驱动对象。...// 使用异常处理错误情况 $driver = new mysqli_driver(); $driver->report_mode = MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT...; 这样就指定了在使用 MySQLi 扩展时,所有的错误信息都会作为异常抛出。...对于我们来说,还是多以学习了解为主,在自己封装或者使用某些以 MySQLi 为底层数据库操作的框架时不至于晕头转向。
1、引言 前面学院君给大家简单介绍了如何在本地安装 MySQL 以及通过命令行和 GUI 客户端软件与 MySQL 服务器进行交互。...2、PHP MySQLi 扩展 PHP 官方提供了很多用于与 MySQL 服务器进行交互的扩展,从最早的 mysql 到后来增强版的 mysqli(更加安全),它们都是 PHP 函数式编程时代的扩展包,...一般来说,本地 PHP 集成开发环境都会自带 mysqli 扩展: ?...2.1 数据库连接与查询 示例代码 在 php_learning 目录下新增一个 mysql 子目录,然后在该子目录下新建一个 mysqli.php 文件,编写一段通过 mysqli 扩展 API 建立数据库连接和查询的代码...更多细节,我这里就不一一介绍了,感兴趣的同学可以自行去 PHP 官方文档 查看 mysqli 扩展介绍。
> 从PHP5.0开始就不推荐使用mysql_connect()函数,到了php7.0则直接废弃了该函数,替代的函数是:mysqli_connect(); 2、mysqli(mysql improved...php $conn = mysqli_connect("127.0.0.1", "root", "", "test") or die("Mysql connect error".mysqli_connect_error...> 3、pdo(php data object) 4、mysql是非持续连接函数而mysqli是永远连接函数。mysql每次连接都会打开一个连接的进程而mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销。...5、由于PDO能够支持其它非MySQL的数据库,而MySQLi专门针对MySQL设计的,所以MySQLi相对于PDO性能稍微好一些。但是PDO和MySQLi都还是没有PHP原生的MySQL扩展快。
PHP中的MySQLi扩展学习(四)mysqli的事务与预处理语句 对于 MySQLi 来说,事务和预处理语句当然是它之所以能够淘汰 MySQL(原始) 扩展的资本。...而在 MySQLi 中,我们则需要指定 MySQLi_Driver 对象中的报错属性为抛出异常,很明显,MySQLi_Driver 就是 MySQLi 的驱动对象。...对于我们来说,还是多以学习了解为主,在自己封装或者使用某些以 MySQLi 为底层数据库操作的框架时不至于晕头转向。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/7.PHP中的MySQLi扩展学习(四)mysqli...的事务与预处理语句.php 参考文档: https://www.php.net/manual/zh/book.mysqli.php
首先,安装PHP的Memcached扩展前,要先安装其所依赖的libmemcached,方法如下: # wget https://launchpad.net/libmemcached/1.0/1.0.18.../configure --prefix=/usr/local # make # make install libmemcached安装完毕后,就可以开始安装Memcached扩展了,方法如下: # wget...#include 然后再继续编译安装 # /usr/local/php/bin/phpize # ..../configure --with-php-config=/usr/local/php/bin/php-config --disable-memcached-sasl # make # make install...最后,还要修改php.ini文件,加入extension=memcached.so并重启php-fpm即可。
首先找到php.ini,放开扩展: ? 打开php.ini ? 去掉前面的分号,因为是linux环境所以扩展改为.so文件 进入容器内docker安装扩展的目录: ? ..../docker-php-ext-install mysql ./docker-php-ext-install mysqli 需要什么扩展就安装什么扩展即可。...安装成功,退出docker,重启docker docker restart php 访问网站phpinfo() 即可看到对应扩展。 再次进入docker内: ?...发现扩展已经全部存在, 这里注意,如果php.ini里是 php_mysql.so或者php_mysqli.so,只需要去掉php_即可,保持扩展库的名字和php.ini的配置名字一致。
在 XAMPP 中安装 YAML 扩展 首先,根据你本地的 PHP 版本,去 http://pecl.php.net/package/yaml/ 下载 dll。...将下载的压缩包解开后,把其中的 php_yaml.dll 拷贝到你的 php 扩展目录下(例如:C:\xampp\php\ext)。并将压缩包中的 yaml.dll 拷贝到你的 XAMPP 根目录下。...然后重启 apache,通过 phpinfo() 查看是否安装成功。 阳光部落原创,更多内容请访问http://www.sunbloger.com/
主要是PHP版本和扩展对上就可以,扩展放好务必重启服务 5.6为例 PHP需要安装扩展才能操作redis 下载地址: http://windows.php.net/downloads/pecl/snaps...注意下图的红线部分,就是我们选择扩展的依据, 这个地方,纠结了好久,没有对应的版本的扩展,后来看到信息说,只要php 版本对,redis版本不对也没事 以我自己的php7.2为例,选择 php_redis...127.0.0.1:6379> del Hello (integer) 1 127.0.0.1:6379> 2.安装PHP的Redis扩展 安装扩展前我们先看一下我们phpinfo()的基本信息,如图:...Apache后,使用phpinfo查看扩展是否成功安装 此时Redis就已经完全安装完成了!...» php安装redis扩展(PHP5.6或7.1为例)
PHP中的MySQLi扩展学习(二)mysqli类的一些少见的属性方法 虽说是少见的一些属性方法,但是可能还是有不少同学在日常的开发中使用过,这里只是学习了可能相对来说我们用得比较少的一些 mysqli...就当是扩展一下自己的知识体系。 切换用户 首先就是切换一下当前连接数据库的用户。...在第一段代码中我们将连接字符设置为 gbk ,然后执行插入语句,直接就会返回字符不匹配的信息了。 特殊字符转义 既然说到字符的问题了,我们顺便多提一句关于 SQL 注入的问题。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/5.PHP中的MySQLi扩展学习(二)mysqli...类的一些少见的属性方法.php 参考文档: https://www.php.net/manual/zh/book.mysqli.php
虽说是少见的一些属性方法,但是可能还是有不少同学在日常的开发中使用过,这里只是学习了可能相对来说我们用得比较少的一些 mysqli 的属性或方法。就当是扩展一下自己的知识体系。...)var_dump($mysqli2->connect_error); // string(90) "php_network_getaddresses: getaddrinfo failed: nodename...字符集 最近这些年,我们使用 PHP + MySQL 开发基本上都已经是统一地在使用 UTF-8 来作为默认的字符集编码了。..., PHP_EOL; 通过 set_charset() 方法就可以设置当前数据库连接的字符。...在第一段代码中我们将连接字符设置为 gbk ,然后执行插入语句,直接就会返回字符不匹配的信息了。 特殊字符转义 既然说到字符的问题了,我们顺便多提一句关于 SQL 注入的问题。
最近为项目增加了邮箱登陆的验证,本地测试OK,部署至服务器上提示 imap_open 为未定义函数,由此可知缺少了IMAP的PHP扩展。...解决办法,首先看官网的安装说明,原来需要提前安装 imap-open2007e 才行。...完成这个过程之后,系统的 imap-open 环境就准备好了,进行php扩展的安装。 我这里因为已经安装了PHP,而且我也不想重新编译整个环境,所以我只需要编译这个扩展就行。...系统中的PHP为5.2.9版本,找到对应版本的源代码,进入 ./ext/extension/imap/文件夹下,执行下面的步骤: /usr/local/apache/bin/phpize ....参考资料: 1、PHP IMAP Installation 2、终于搞定PHP中安装imap扩展解决办法 3、PHP with imap support
前言 在刚开始安装php的时候我们不可能一下把所有的扩展全部装完但在开发的时候我们又需要某个扩展,这时候我们不可能把php重新卸载—加上对应扩展—安装—-那样太麻烦了,下面给大家介绍为安装好的php添加或者的方法...这里我以安装memcached扩展为例 查看你是否安装某个扩展 1.使用命令php -m 列出的扩展就是已安装的 2.使用函数phpinfo() 安装memcached 在这个网站下找到memcached...当我们要为已经编译安装好的php添加扩展时,我们要通过phpize辅助 phpize会根据当前扩展和php的版本为其添加一个configure文件,phpize存放在php的安装路径bin目录下,如我的...安装 3.make && make install 到这一步安装成功,并且给出了扩展的路径/usr/local/php/lib/php/extension...........第二种 在php.ini的大概750几行,添加存储扩展的目录 在开启对应扩展,去掉extension前面的分号,如果没有对应扩展需自行添加 重启php ps -aux | grep
领取专属 10元无门槛券
手把手带您无忧上云