我正在尝试将应用程序从PHP 5.2.X迁移到PHP 5.4.4,并且我遇到了一些与应用程序连接到数据库有关的问题。
新服务器在此行上失败:
$this->db = @mysql_pconnect(_DBHOST,_DBUSER,_DBPASS);
我知道新版本已经改变了应用程序连接到数据库的方式,但我一直在尝试与其他方法连接,但我不能。我认为它应该与服务器配置相关,可以在这里找到:http://bit.ly/S2px7Q
我看到的是安装了mysqlnd但没有安装mysql,mysqli或PDO。这是对的吗?
答案 0 :(得分:1)
如果您收到Undefined Function
错误,则表示您的PHP副本中未安装mysql
库。
这实际上可能是一件好事,因为这个特定的库被认为是过时的。 PHP提供了至少两个建议使用的好的替代方案。
我建议您切换所有mysql_xxx()
个函数调用以进行等效的mysqli_xxx()
来电。
这将允许您开始使用更好的库,只需最少的代码更改。您也可以使用PDO库,但如果您正在处理现有代码,则会涉及更多工作。
答案 1 :(得分: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);