php:为什么$ obj在类中为null

时间:2015-12-23 15:50:14

标签: php

我是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具有空值。 JobOrders位置的./lib/JobOrders.php课程。所以我在文件中包含了include_once('./lib/JobOrders.php');。仍然没有用。

有任何线索吗?

1 个答案:

答案 0 :(得分:0)

$ emailAddress的价值是多少?你的if语句似乎什么都不做。您必须将您的变量与最终为真或假(或1或0)的变量进行比较。你现在总是失败因为它永远不是“真实的”。

我认为您要做的是以下内容。检查是否设置了电子邮件地址。您可以使用函数isset(),如果设置了变量,则返回true(因此输入if语句),否则返回false。

试试这个:

.zocial span
{
    padding: 0;
    vertical-align:middle;
}

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" );
}

你应该在php中了解一下if statements