×

php7支持pdo吗

php7支持pdo吗(php74稳定吗)

admin admin 发表于2023-04-01 09:36:11 浏览50 评论0

抢沙发发表评论

本文目录一览:

PHP7连接mysql数据库方法

1、用 mysql_connect 的方法,PHP7会报致命错误

$conn= mysql_connect('localhost','xueyanxiang','xueyanxiang');

Fatal error : Uncaught Error: Call to undefined function mysql_connect() in /Users/xueyanxiang/work/test/xue.php:31 Stack trace: #0 /Users/xueyanxiang/work/test/xue.php(119): xue-run() #1 {main} thrown in  /Users/xueyanxiang/work/test/xue.php  on line  31 -php7支持pdo吗

原因是:

PHP5中使用mysql_connect()函数进行连接,但实际上,PHP5.5开始,MySQL就不推荐使用了,属于废弃函数

PHP7中貌似已经彻底不支持了,根据官网说明,取而代之的是如下两个:

本扩展自 PHP 5.5.0 起已废弃,并在将来会被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。参见 MySQL:选择

API 指南以及相关 FAQ 以获取更多信息。用以替代本函数的有:

mysqli_connect()

PDO::__construct()

使用时,不要在使用mysql_connect了,可以换用mysqli_connect(),用法基本类似吧,据说是面向对象的库。

php.ini中,也只有extension=php_mysqli.dll,而不再有extension=php_mysql.dll这个拓展了。

2、可以使用mysqli,对象化,方法名与被废弃的类似

$conn= mysqli_connect('localhost','xueyanxiang','xueyanxiang');

3、PDO工具,推荐使用

$dbh= "mysql:host=localhost;dbname=test";

$db= new PDO($dbh,'xueyanxiang','xueyanxiang');

$objQuery= $db-query("select * from user;");

$res= $objQuery-fetchAll(PDO::FETCH_ASSOC);

不填写参数的话,默认是关联和索引都有,如下图

PHP7安装intl扩展和linux安装icu

一 PHP intl 是国际化扩展,是ICU 库的一个包装器。所以在安装PHP intl扩展前要先安装ICU库,安装ICU库的具体步骤::

二 安装intl扩展

1:进入php7.2.5源码:

2:运行:phpize ,找不到命令时,将路径补全:/usr/local/php7/bin/phpize(是php的安装路径),出现如下:

Configuring for:

PHP Api Version: 20100412

Zend Module Api No: 20100525

Zend Extension Api No: 220100525

3:运行配置

./configure --enable-intl --with-icu-dir=/usr/local/icu/ --with-php-config=/usr/local/php7/bin/php-config-php7支持pdo吗

注:前面路径为icu的安装路径,后面路径为php的安装路径。

4:编译扩展:make

5:复制扩展到目标文件夹

cp /user/local/php/php7.2.5/ext/intl/modules/intl.so /user/local/php7/lib/php/extensions/no-debug-non-zts-20170718-php7支持pdo吗

注意:也可以find / -name intl.so 查找。

6:设置扩展加入配置文件中:

[intl]

extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718/"

extension=intl.so

大坑:::采用phpinfo()时,无法找到配置的intl扩展,说明配置没有生效。。。。。。

原因:在编译php时没有 --with-config-file-path=PATH 指定php.ini路径,默认的路径为/usr/local/php7/lib,只需要将php.ini放入这个默认的路径即可。你也可以安装配置php时加入,如下:-php7支持pdo吗

./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --with-apxs2=/usr/bin/apxs-php7支持pdo吗

访问:index.php中phpinfo()文件。

如何使PHP7支持Mysql扩展功能

PHP7 正式移除了 mysql 扩展

目前可以使用mysqlnd和mysql mysqli pdo_mysql

关系打比方说 mysqlnd是金属,而mysql mysqli pdo_mysql只是金属制品而已

使用PDO连接mysql的格式:

$pdo = new PDO('mysql:host=localhost;dbname=database_name;port=3306','用户名','密码');

$pdo-exec('set names utf8');

$stmt = $pdo-prepare("select * from table where id =:id");

$stmt-bindValue(':id',1,PDO::PARAM_INT);

$stmt-execute();

$rows = $stmt-fetchAll(PDO::FETCH_ASSOC);

$rows = $pdo-query("select * from table where id = 1")-fetchAll(PDO::FETCH_ASSOC);

mysql_select_db被废除后在php7用什么?

不仅仅是mysql_select_db,整个mysql扩展都被废除了

推荐使用mysqli扩展或PDO扩展操作数据库。

mysqli和mysql比较相似,改以前的源码比较方便。

PDO可以支持几乎所有主流数据库,如果你只是用mysql数据库,那用mysqli还是用PDO都可以。

如何让typecho支持PHP7

typecho 默认是不支持 PHP7 的,所以需要将 Typecho 的数据库引擎修改为 pdo_mysql

修改 config.inc.php 文件中的

$db = new Typecho_Db('Mysql', 'typecho_');

改为:

$db = new Typecho_Db('Pdo_Mysql', 'typecho_');

将 mysql 换成 pdo mysql 驱动即可。

PHP已经有7了 但我找的视频时PHP5会有影响吗 PHP7兼容5吗

最大的影响就是php7不在支持mysql扩展,只支持mysqli和pdo,说白了就是强制性废弃面向过程的连接数据库方法。其他影响不大。少量函数有所废弃,一般也用不到。