不推荐使用:mysql_pconnect():

时间:2014-04-03 10:13:21

标签: php

我在执行php时遇到错误,我认为这是因为更新的PHP 5.5。

  

不推荐使用:mysql_pconnect():不推荐使用mysql扩展程序,将来会将其删除:在第7行的/public_html/mydomain.com/connx.php中使用mysqli或PDO   2014年4月3日
  检查

内部代码看起来像这样

http://justpaste.it/eyk2

所以我认为将mysql更改为mysqli可以解决问题:

$conn = mysqli_pconnect($hostname_conn, $username_conn, $password_conn) or trigger_error("Server Down"); 

相反,我收到了这个错误...所以我想这不是正确的方法:)

  

致命错误:调用未定义的函数mysqli_pconnect()

无论如何我可以解决这个问题?代码是很久以前建立的,现在我无法与他取得联系:x

感谢 ** 更新 ** 我更改了mysqli_connect,当我加载php脚本时...它现在显示了一些错误...只是想知道我是否也必须更改这些语法?

mysql_select_db($ database_conn); mysql_query(" SET NAMES UTF8");

4 个答案:

答案 0 :(得分:9)

请参阅the documentation for mysql_pconnect

  

此功能的替代方案包括:

     带有p:host prefix

mysqli_connect()

因此请使用mysqli_connect,而不是mysqli_pconnect并按照描述修改主机参数

答案 1 :(得分:3)

没有“mysqli_pconnect”,但您可以使用mysqli_connect()通过将p:添加到主机名的开头来建立持久连接。

因此,您可以通过将此样式添加到php文件的头部来恢复旧样式:

if (!function_exists("mysql_pconnect")){
    function mysql_pconnect($host, $username, $password){
        return mysqli_connect("p:".$host, $username, $password);
    }
}

更新:由于p连接几乎没有任何好处,因此您应该在脚本中用mysql_pconnect替换mysql_connect

答案 2 :(得分:0)

没有mysqli_pconnect(),但您可以使用mysqli_connect()作为described in the manual建立持久连接,只需将p:添加到主机名的开头即可。

手册中的引用:

Prepending host by p: opens a persistent connection.

答案 3 :(得分:0)

我遇到了这个问题,必须在旧脚本中更新 mysql_pconnect 才能使其在 php 7.0 下运行。我不是 php 专家,所以如果你也不是,这可能对你有帮助。

通常脚本会在 mysql_pconnect 上抛出错误,因为这是它找到的第一个过时函数,然后它停止。您可能需要查找和修复更多种类的 mysql_xxx 函数。幸运的是,它们中的大多数都可以通过查找和替换来修复,用 mysqli 替换 mysql。

例外是: mysql_pconnect:我将其替换为 mysqli_connect 并添加了第四个参数,即数据库名称。 (大多数情况下不需要持久化)。

mysqli_select_db:交换链接和数据库名参数

mysqli_query:交换链接和数据库名参数

在所有情况下,您都应该在 php 手册中查找旧函数和新函数,看看需要做什么。新函数可以使用面向对象的用法,但我忽略了这一点并查看了过程示例。 我的脚本现在似乎可以正常工作了,祝你好运!