如何纠正 php 连接调用未定义函数 connect() 时的错误

问题描述 投票:0回答:1

我正在开发一个 php5.3 应用程序(我知道,我知道)。我还不能升级它。它使用安装在共享托管服务器上的包含目录中的 Pear db。

自从我使用 PHP 以来已经有一分钟了,但我认为我这样做是正确的,但它不起作用。

我得到了一个

Uncaught Error: Call to undefined function connect()

我的连接设置

require_once('DB.php');

$db        = getDB();
$host      = getHost();
$username  = getUserName();
$password  = getPassword();

  // Data Source Name: This is the universal connection string
$dsn = "mysql://$username:$password@$host/$db";
$db = DB::connect($dsn);

在当地

DB.php
:

class DB
{
  ...
  function &connect($dsn, $options = array()) {
  ...

我的第一个错误是调用非静态的静态函数。所以,我改变了...

$db = DB::connect($dsn);
to
$db_connect = new DB();
$dbSQL = $db_connect->connect($dsn);

但现在我收到错误:

Call to undefined function connect()
。我不明白这一点。我尝试删除
&
上的
function &connect
,但这没有任何作用。

我错过了什么?

php pear php-5.3
1个回答
0
投票

在您的 PHP 代码中,您尝试使用

connect
方法作为
DB
类的静态方法,但它似乎是基于您提供的代码的实例方法。因此,您应该创建
DB
类的实例,然后在该实例上调用
connect
方法。具体方法如下:

require_once('DB.php');

// Assuming DB::connect is an instance method
$dbConnect = new DB();
$db = $dbConnect->connect($dsn);

// Now you can use $db for your database operations

此代码创建名为

DB
$dbConnect
类的实例,然后调用该实例上的
connect
方法来建立数据库连接。这应该可以解决您遇到的“调用未定义函数 connect()”错误。

© www.soinside.com 2019 - 2024. All rights reserved.