[英]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.