Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 警告:无法连接到数据库(不支持连接到3.22、3.23和4.0)SQLSTATE[HY000][2054]_Php_Mysql_Pdo - Fatal编程技术网

Php 警告:无法连接到数据库(不支持连接到3.22、3.23和4.0)SQLSTATE[HY000][2054]

Php 警告:无法连接到数据库(不支持连接到3.22、3.23和4.0)SQLSTATE[HY000][2054],php,mysql,pdo,Php,Mysql,Pdo,昨天我正在编码时,突然出现了以下错误消息: 警告:PDO::_构造():不支持连接到3.22、3.23和4.0。服务器是第18行的3.23.58-log-in/classes/DB.php 不支持连接到3.22、3.23和4.0服务器的SQLSTATE[HY000][2054] my DB.php的第18行: $this->_pdo = new PDO( 'mysql:host='.config::get('mysql/host'). ';dbname='.config::

昨天我正在编码时,突然出现了以下错误消息:

警告:PDO::_构造():不支持连接到3.22、3.23和4.0。服务器是第18行的3.23.58-log-in/classes/DB.php 不支持连接到3.22、3.23和4.0服务器的SQLSTATE[HY000][2054]

my DB.php的第18行:

$this->_pdo = new PDO(
    'mysql:host='.config::get('mysql/host').
    ';dbname='.config::get('mysql/db'), 
    config::get('mysql/username'), 
    config::get('mysql/password')
);
因此,基本上——如果我没有弄错的话——警告是我的mysql数据库已经过时了。没有任何意义,因为它以前与PDO一起工作,并且我没有在DB.php或Init.php中更改任何内容

  • 服务器版本:4.1.22-log
  • MySQL客户端版本:5.1.61
  • phpMyAdmin:2.11.11.3
  • php版本:5.6.12
另外,我在domainfactory中进行了检查,那里清楚地显示我的php版本是5.6.12,MySQL版本是5.1.16


所以我觉得我的网络主持人有点问题,但我决定先问一下。我的设置有什么问题吗?

那么你的mysql服务器到底是哪个版本?4.1.22-log或5.1.16?是否有任何理由不升级MySQL服务器?你正在运行的版本非常旧,有很多漏洞。我不是100%确定@YourCommonSense我是从我的phpmyadmin仪表板复制的。但我相信它在domainfactory中写的是5.1.61。我自己在domainfactory中托管,根据我连接的主机名,他们为我提供了三个不同的MySQL版本:MySQL 3.23.58(主机
MySQL.
);4.1.22(主机
mysql4.
)和5.6.19(主机
mysql5.
)。我是从客户的网络界面上得到的(不确定它的英文名称,在德国是“Kundenmenue”)。你确定你有MySQL 5.1吗?也许你只是使用了错误的主机名。我打电话给他们,他们说他们会修复它,他们就这么做了。他们没有告诉我到底出了什么问题,但我想这与当天短暂的停机时间有关。