gpt4 book ai didi

php - 未定义类常量 'MYSQL_ATTR_INIT_COMMAND' 与 pdo

转载 作者:IT王子 更新时间:2023-10-29 01:01:47 25 4
gpt4 key购买 nike

$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'")
);

报告:

Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'

改名了吗?

最佳答案

我刚刚遇到了同样的错误(使用 PHP 5.2.6),我所要做的就是 enable the MySQL-specific PDO driver :

长话短说

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

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

更长的解释:

  1. 在文本编辑器中打开 php.ini

    • 例如它在 Windows 上的默认路径:C:\Program Files (x86)\PHP\v5.X\php.ini(用您安装的版本替换 v5.x)或 C:\Windows\php.ini
    • 或在 Linux 上:/etc/php5/apache2/php.ini(例如,这是 Ubuntu 上的路径)或 /etc/php5/cli/php.ini /etc/php5/cgi/php.ini
    • you can get to know where it is like this :
      • php --ini |在 Windows 命令提示符中找到/i "Loaded"
      • php --ini | Linux/Mac 终端中的 grep "Loaded"
      • 使用 phpinfo(),并寻找行 “Loaded Configuration File”
  2. 从下一行的开头删除分号(取消注释):

    • ;extension=php_pdo_mysql.dll 在 Windows 上
      • ;extension=php_pdo_mysql.so 在 Linux/Mac 上
    • 当然,如果这一行不存在,你应该粘贴
    • 因此作为结果,预期的行在 php.ini 中看起来像这样:
      • extension=php_pdo_mysql.dll 在 Windows 上
      • 或在 Linux/Mac 上 extension=php_pdo_mysql.so
  3. 您可能需要重新启动您的网络服务器。

这解决了我的问题。

关于php - 未定义类常量 'MYSQL_ATTR_INIT_COMMAND' 与 pdo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2424343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com