簡體   English   中英

php:為什么 $obj 在類中為空

[英]php: why $obj is null in the class

我是 php 的新手。 我是一個建立在 php 上的系統(個人使用)。 當作業訂單創建/更新時,系統必須發送電子郵件。 但在電子郵件方法之前,對象為空。 我不知道如何解決這個問題。

function AUIEO_SEND_HOOK_EMAIL ($record)
{

    $recruiter=$record["recruiter"];
    $sql="select * from user where user_id='{$recruiter}'";
    $db=DatabaseConnection::getInstance();
    $arrAssoc=$db->getAllAssoc($sql);
    $emailAddress=$arrAssoc[0]["email"];

    debug_to_console( $emailAddress );
    $site_id=$arrAssoc[0]["site_id"];
    debug_to_console( $site_id );
    if($emailAddress)
    {
        $obj=new JobOrders($site_id);
        $obj->load($record["id"]);  /* $obj is here null */             
        $obj->sendTemplateEMail("My Joborder 2", $emailAddress);
        debug_to_console( "email sent" );
    }

    $owner=$record["owner"];
    $sql="select * from user where user_id='{$owner}'";
    $db=DatabaseConnection::getInstance();
    $arrAssoc=$db->getAllAssoc($sql);
    $emailAddress=$arrAssoc[0]["email"];
    $site_id=$arrAssoc[0]["site_id"];
    if($emailAddress)
    {
        $obj=new JobOrders($site_id);
        $obj->load($record["id"]);
        $obj->sendTemplateEMail("My Joborder 2", $emailAddress);
    }
}

$obj具有空值。 ./lib/JobOrders.php位置中的JobOrders類。 所以我包含了include_once('./lib/JobOrders.php'); 在文件中。 仍然無法正常工作。

有什么線索嗎?

$emailAddress 的值是多少? 您的 if 語句似乎什么也沒做。 您必須將變量與最終為真或假(或 1 或 0)的值進行比較。 您的 if 現在總是失敗,因為它永遠不是“真實”。

我認為您正在嘗試做的是以下內容。 檢查是否設置了電子郵件地址。 您可以使用isset()函數,如果設置了變量(並因此輸入 if 語句),則返回 true,否則返回 false。

嘗試這個:

if(isset($emailAddress)){
    $obj=new JobOrders($site_id);
    $obj->load($record["id"]);  /* $obj is here null */             
    $obj->sendTemplateEMail("My Joborder 2", $emailAddress);
    debug_to_console( "email sent" );
}

和:

 if(isset($emailAddress)) {
    $obj=new JobOrders($site_id);
    $obj->load($record["id"]);
    $obj->sendTemplateEMail("My Joborder 2", $emailAddress);
 }

另外,您應該閱讀一些有關 php 中的if 語句的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM