如何解决从 PHP7.4 迁移到 PHP8.0 后数据库连接不起作用
也许你可以帮助我。我尝试从 PHP7.4 迁移到 PHP8.0,但我的数据库连接无法正常工作。在 PHP7.4 中它可以与 PHP8.0 一起使用。
不会再以这种方式建立数据库连接了。
你有什么想法吗?
连接代码:
$db = new sql_db($dbhost,$dbuser,$dbpasswd,$dbname,false);
if(!$db->db_connect_id)
{
message_die(CRITICAL_ERROR,"Could not connect to the database");
}
背后的作用:
function sql_db($sqlserver,$sqluser,$sqlpassword,$database,$port = false,$persistency = false)
{
$this->persistency = (version_compare(PHP_VERSION,'5.3.0','>=')) ? $persistency : false;
$this->user = $sqluser;
$this->password = $sqlpassword;
$this->server = ($this->persistency) ? 'p:' . (($sqlserver) ? $sqlserver : 'localhost') : $sqlserver;
$this->dbname = $database;
$port = (!$port) ? NULL : $port;
$this->db_connect_id = @MysqLi_connect($this->server,$this->user,$this->password,$this->dbname,$port);
if( $this->db_connect_id && $database != '')
{
@MysqLi_query($this->db_connect_id,"SET NAMES 'ISO-8859-1'");
$this->dbname = $database;
$dbselect = @MysqLi_select_db($this->db_connect_id,$this->dbname);
if( $dbselect === false )
{
@MysqLi_close($this->db_connect_id);
$this->db_connect_id = $dbselect;
}
return $this->db_connect_id;
}
else
{
return false;
}
}
解决方法
看起来您一直在依赖古老的、长期弃用的行为,即与类同名的方法充当构造函数。这种行为终于thrown out in PHP 8:
与类同名的方法不再被解释为构造函数。应改用 __construct()
方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。