ошибка вызова неопределенного метода php

#php

#php

Вопрос:

У меня есть класс с именем CHCID, внутри которого есть две функции:

 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 = New CHCID(); раньше $cid->UpdateDeliveryAddress() ? $cid не является объектом, если он не объявлен.

2. да, вверху страницы // И создайте объект cid, требующий_once $CID_INCLUDE_PATH » ./cid.php «; $cid = новый CHCID();

3. Вы создаете экземпляр объекта класса CHCID ? Я предполагаю, что это так $cid , но было бы неплохо увидеть создание экземпляра.

4. Не могли бы вы показать нам, как вы объявляете свой класс CHCID и как вы создаете экземпляр объекта $cid?

5. // И создайте объект cid, требующий_once $CID_INCLUDE_PATH » ./cid.php «; $cid = новый CHCID();

Ответ №1:

Если бы эти функции действительно были в вашем классе, этого бы никогда не произошло.

Проверьте $CID_INCLUDE_PATH , возможно, вы загружаете другой файл, возможно, более старую версию класса. Также включите предупреждения, уведомления…

Комментарии:

1. @user969733: примите ответ, чтобы другие знали, что проблема решена.