调用未定义的方法PHP错误

问题描述:

我有一个叫CHCID类在其内部具有两个功能:调用未定义的方法PHP错误

public function UpdateDeliveryAddress($orderNumber, $deliveryaddress) { 

    $sql = "UPDATE `CIDOrders` 

    SET `DeliveryAddress` = '" . mysql_real_escape_string($deliveryaddress) . "' 

    WHERE `CIDOrderNumber` = " . $orderNumber . ";"; 

    mysql_select_db(DB_DATABASE_NAME, $this->conn); 

    return mysql_query($sql, $this->conn); 

} 

public function UpdateInvoiceAddress($orderNumber, $invoiceAddress) { 

    $sql = "UPDATE `CIDOrders` 

    SET `InvoiceAddress` = '" . mysql_real_escape_string($invoiceaddress) . "' 

    WHERE `CIDOrderNumber` = " . $orderNumber . ";"; 

    mysql_select_db(DB_DATABASE_NAME, $this->conn); 

    return mysql_query($sql, $this->conn); 

} 

我调用这个类中有一个网页叫做createorder.php如下:

// Add a new delivery address to the order 

$cid->UpdateDeliveryAddress($_POST['orderNumber'], $_POST['deliveryaddress']); 

// Add invoice address to the order 

$cid->UpdateInvoiceAddress($_POST['orderNumber'], $_POST['invoiceaddress']); 

我收到以下错误:

PHP Fatal error: Call to undefined method CHCID::UpdateDeliveryAddress() 

任何人都可以帮忙。

非常感谢

初始化类的代码。

require_once $CID_INCLUDE_PATH . "/cid.php"; 

$cid = new CHCID(); 

建设类

class CHCID { 



    var $conn; 



    // Constructor, connect to the database 

    public function __construct() { 

     require_once "/var/www/reporting/settings.php"; 

     if(!$this->conn = mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWORD)) die(mysql_error()); 

     if(!mysql_select_db(DB_DATABASE_NAME, $this->conn)) die(mysql_error()); 

    } 
+1

您是否在'$ cid-> UpdateDeliveryAddress()'之前放置了'$ cid = New CHCID();'? '$ cid'不是没有被声明的对象。 – Bojangles

+0

是在页面顶部//并创建一个cid对象 \t require_once $ CID_INCLUDE_PATH。 “/cid.php”; \t $ cid = new CHCID(); –

+0

你是否正在实例化类“CHCID”的对象?我认为'$ cid'是什么,但能够看到实例化会很高兴。 –

如果这些功能真的在你的班级,这永远不会发生。

检查$CID_INCLUDE_PATH,你可能正在加载一个不同的文件,也许是一个旧版本的类。还可以启用警告,通知...

+0

是的,它指向另一个文件。谢谢你的帮助。 –

+0

@ user969733:接受答案,以便其他人知道问题已解决。 –