带有 pdo 的未定义类常量“MYSQL_ATTR_INIT_COMMAND"

2023-04-07php开发问题
7

本文介绍了带有 pdo 的未定义类常量“MYSQL_ATTR_INIT_COMMAND"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

$db = new PDO('mysql:dbname=xnews;host=localhost;port=' . $LOCAL_DB_PORT, 
          $LOCAL_DB_USER, 
          $LOCAL_DB_PASS, 
          array(PDO::MYSQL_ATTR_INIT_COMMAND =>  "SET NAMES 'UTF8'")
      );

报告:

未定义的类常量'MYSQL_ATTR_INIT_COMMAND'

Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'

改名了吗?

推荐答案

我刚刚遇到了同样的错误(使用 PHP 5.2.6),我所要做的就是 启用特定于 MySQL 的 PDO 驱动程序:

I just had the same error (with PHP 5.2.6), and all I had to do is enable the MySQL-specific PDO driver:

在您的 php.ini 文件中,您应该有以下行(未注释):

In your php.ini file, you should have the following line (uncommented):

  • extension=php_pdo_mysql.dll 在 Windows 上
  • extension=php_pdo_mysql.so 在 Linux/Mac 上
  • extension=php_pdo_mysql.dll on Windows
  • extension=php_pdo_mysql.so on Linux/Mac
  1. 在文本编辑器中打开php.ini

  • 例如它在 Windows 上的默认路径:C:Program Files (x86)PHPv5.Xphp.ini(用您安装的版本替换 v5.x)或 C:Windowsphp.ini
  • 或在 Linux 上:/etc/php5/apache2/php.ini(例如这是 Ubuntu 上的路径)或 /etc/php5/cli/php.ini/etc/php5/cgi/php.ini
  • 或你可以这样了解它在哪里:
    • php --ini |在 Windows 命令提示符下查找/i Loaded"
    • php --ini |Linux/Mac 终端中的 grep已加载"
    • 使用phpinfo(),并寻找Loaded Configuration File"
    • e.g. its default path on Windows: C:Program Files (x86)PHPv5.Xphp.ini (substitute v5.x with the version you installed) or C:Windowsphp.ini, etc.
    • or on Linux: /etc/php5/apache2/php.ini (e.g. this is the path on Ubuntu) or /etc/php5/cli/php.ini, /etc/php5/cgi/php.ini, etc.
    • or you can get to know where it is like this:
      • php --ini | find /i "Loaded" in Windows command prompt OR
      • php --ini | grep "Loaded" in Linux/Mac terminal
      • using phpinfo(), and looking for the line "Loaded Configuration File"

      从下一行的开头删除分号(取消注释):

      • ;extension=php_pdo_mysql.dll 在 Windows 上
        • OR ;extension=php_pdo_mysql.so 在 Linux/Mac 上
        • ;extension=php_pdo_mysql.dll on Windows
          • OR ;extension=php_pdo_mysql.so on Linux/Mac
          • extension=php_pdo_mysql.dll 在 Windows 上
          • OR extension=php_pdo_mysql.so 在 Linux/Mac 上
          • extension=php_pdo_mysql.dll on Windows
          • OR extension=php_pdo_mysql.so on Linux/Mac

          您可能需要重新启动网络服务器.

          You may need to restart your web server.

          那解决了我的问题.

          这篇关于带有 pdo 的未定义类常量“MYSQL_ATTR_INIT_COMMAND"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

          The End

相关推荐

PHP实现DeepL翻译API调用
DeepL的翻译效果还是很强大的,如果我们要用php实现DeepL翻译调用,该怎么办呢?以下是代码示例,希望能够帮到需要的朋友。 在这里需要注意,这个DeepL的账户和api申请比较难,不支持中国大陆申请,需要拥有香港或者海外信用卡才行,没账号的话,目前某宝可以...
2025-08-20 php开发问题
168

PHP通过phpspreadsheet导入Excel日期数据处理方法
PHP通过phpspreadsheet导入Excel日期,导入系统后,全部变为了4开头的几位数字,这是为什么呢?原因很简单,将Excel的时间设置问文本,我们就能看到该日期本来的数值,上图对应的数值为: 要怎么解决呢?进行数据转换就行,这里可以封装方法,或者用第三方的...
2024-10-23 php开发问题
287

mediatemple - 无法使用 codeigniter 发送电子邮件
mediatemple - can#39;t send email using codeigniter(mediatemple - 无法使用 codeigniter 发送电子邮件)...
2024-08-23 php开发问题
11

Laravel Gmail 配置错误
Laravel Gmail Configuration Error(Laravel Gmail 配置错误)...
2024-08-23 php开发问题
16

将 PHPMailer 用于 SMTP 的问题
Problem with using PHPMailer for SMTP(将 PHPMailer 用于 SMTP 的问题)...
2024-08-23 php开发问题
4

关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题
Issue on how to setup SMTP using PHPMailer in GoDaddy server(关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题)...
2024-08-23 php开发问题
17