php7pdomysql的简单介绍

发布时间:2022-11-18

本文目录一览:

  1. PHP7连接mysql数据库方法
  2. 如何使PHP7支持Mysql扩展功能
  3. PHP7.0打开扩展功能要怎样才能和mysql相连?
  4. win10 php7 怎么弄mysql扩展

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

原因: PHP5中使用 mysql_connect() 函数进行连接,但实际上,PHP5.5开始,MySQL就不推荐使用了,属于废弃函数。 PHP7中已经彻底不支持了,取而代之的是如下两个扩展:

  • MySQLi
  • PDO_MySQL 替代函数如下:
  • mysqli_connect()
  • PDO::__construct() 使用时,不要再使用 mysql_connect,可以换用 mysqli_connect(),用法基本类似,据说是面向对象的库。 在 php.ini 中,也只有 extension=php_mysqli.dll,而不再有 extension=php_mysql.dll 这个拓展了。
  1. 可以使用 mysqli,对象化,方法名与被废弃的类似:
$conn = mysqli_connect('localhost','xueyanxiang','xueyanxiang');
  1. 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支持Mysql扩展功能

PHP7 正式移除了 mysql 扩展。 目前可以使用:

  • mysqlnd
  • mysqli
  • pdo_mysql 打个比方说:
  • mysqlnd 是金属,而 mysqlmysqlipdo_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);

PHP7.0打开扩展功能要怎样才能和mysql相连?

步骤如下:

  1. 进入 PHP 源码中的 ext/mysql 目录下。
  2. 在当前目录下运行 phpize 命令:
/usr/local/php524/bin/phpize
  1. 运行生成的 configure 文件:
./configure --with-php-config=/usr/local/php524/bin/php-config --with-mysql=/usr/local/mysql/

注意:--with-mysql 参数用于指定 MySQL 客户端的位置,这样才能生成 mysql.so

  1. 编译生成 .so 文件。
  2. 配置 PHP 引擎加载该扩展: 修改 php.ini 文件,加载 mysql.so 扩展(确保该文件放在 PHP 指定的扩展目录下)。
  3. 测试 PHP 引擎是否成功加载该扩展: 创建 phpinfo.php 文件,内容如下:
    <?php echo phpinfo(); ?>
    
    运行后可以看到如下信息:
    MySQL Support enabled
    Active Persistent Links 0
    Active Links 0
    Client API version 5.1.55
    MYSQL_MODULE_TYPE no value
    MYSQL_SOCKET /tmp/mysql.sock
    MYSQL_INCLUDE no value
    MYSQL_LIBS no value
    
  4. 编写 PHP 代码测试是否能连接 MySQL。 补充说明:
  • 为什么书中一般是先安装 MySQL,再安装 PHP? 因为安装 PHP 时需要提供 MySQL 的路径,由 PHP 帮助编译生成 mysql.so 模块。如果先安装 PHP,后安装 MySQL,可以通过 phpize 工具生成 mysql.so
  • 实践生成 mysql.so 的过程: 需要用到 PHP 的源码包,通过源码包中提供的 phpize 工具来挂接 PHP 扩展。

win10 php7 怎么弄mysql扩展

非常遗憾地告诉你,PHP7 不再支持 MySQL 扩展了,只能使用 mysqlipdo 扩展。 在 php.ini 中取消以下两行前面的分号以启用扩展:

extension=php_mysqli.dll
extension=php_pdo_mysql.dll