0

我正在尝试将应用程序从 PHP 5.2.X 迁移到 PHP 5.4.4,我遇到了一些与应用程序如何连接到数据库相关的问题。

新服务器在此行失败:

$this->db = @mysql_pconnect(_DBHOST,_DBUSER,_DBPASS);

我知道新版本改变了应用程序连接到数据库的方式,但我一直在尝试用其他方法连接,但我做不到。我认为它应该与可以在这里找到的服务器配置有关:http: //bit.ly/S2px7Q

我看到的是安装了 mysqlnd,但没有安装 mysql、mysqli 或 PDO。那是对的吗?

4

2 回答 2

1

如果您遇到Undefined Function错误,则表示该mysql库未安装在您的 PHP 副本中。

这实际上可能是一件好事,因为这个特定的库被认为是过时的。PHP 提供了至少两个好的替代方案,建议使用它们。

我建议您将所有mysql_xxx()函数调用切换为等效mysqli_xxx()调用。

这将允许您以最少的代码更改开始使用更好的库。您也可以使用 PDO 库,但如果您要处理现有代码,这将涉及更多工作。

于 2012-08-17T20:46:09.497 回答
0

我同意,试试 PDO

$this->db = new PDO("mysql:host=localhost;dbname=mysql", "root", "password");
$this->statement = $db->query('SELECT first_name, last_name FROM users;');
$this->users = $this->statement->fetchAll(PDO::FETCH_ASSOC);
于 2012-08-17T19:57:03.853 回答