$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 Windowsextension=php_pdo_mysql.so
on Linux/Mac在文本编辑器中打开php.ini
C:Program Files (x86)PHPv5.Xphp.ini
(用您安装的版本替换 v5.x)或 C:Windowsphp.ini
等/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"C:Program Files (x86)PHPv5.Xphp.ini
(substitute v5.x with the version you installed) or C:Windowsphp.ini
, etc./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.php --ini | find /i "Loaded"
in Windows command prompt ORphp --ini | grep "Loaded"
in Linux/Mac terminalphpinfo()
, and looking for the line "Loaded Configuration File"和从下一行的开头删除分号(取消注释):
;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/Macextension=php_pdo_mysql.dll
在 Windows 上extension=php_pdo_mysql.so
在 Linux/Mac 上extension=php_pdo_mysql.dll
on Windowsextension=php_pdo_mysql.so
on Linux/Mac您可能需要重新启动网络服务器.
You may need to restart your web server.
那解决了我的问题.
这篇关于带有 pdo 的未定义类常量“MYSQL_ATTR_INIT_COMMAND"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!