我在执行php时遇到错误,我认为这是因为更新的PHP 5.5。
不推荐使用:
mysql_pconnect()
:不推荐使用mysql扩展程序,将来会将其删除:在第7行的/public_html/mydomain.com/connx.php中使用mysqli或PDO 2014年4月3日
检查
内部代码看起来像这样
所以我认为将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");
答案 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 手册中查找旧函数和新函数,看看需要做什么。新函数可以使用面向对象的用法,但我忽略了这一点并查看了过程示例。 我的脚本现在似乎可以正常工作了,祝你好运!