为什么无法更新状态?

时间:2014-04-02 04:00:11

标签: php

成功运行if条件并且我的条件运行良好后,我想要更新表状态。如果条件及其工作,我会尝试在内部回应。但是在我运行所有代码后,更新sql无法运行。我不知道我的代码出了什么问题。我已经尝试了几次在条件内回应不同的值,并且没有问题打印出所有的东西。

这是php代码:

<?
require_once "lib/base.inc.php";

$arrResult = $oAdminEmail->getQueEmail();

for($i=0; $i<count($arrResult); $i++)
{
    $email = $arrResult[$i]['contact_email'];
    $name = $arrResult[$i]['contact_first']." ".$arrResult[$i]['contact_last'];
    $message = $arrResult[$i]['message']; 
    $subject = $arrResult[$i]['subject'];
    $sendMail = $eMailer->sendEDM($email,$name,$subject,$message);
    $iId = $arrResult[$i]['id'];
    if ($sendMail) 
            {
                $update['status'] = 1;
                $update_edm = $oAdminEmail->updateEmailStatus($update,$iId);
            }
} 


?>

这是sql语句:

function updateEmailStatus($record, $iId)
        {
            global $db;

            $bResult = false;

            if(empty($iId)) return $bResult;

            $record['send_timestamp'] = date("Y-m-d H:i:s", time());
            $sUpdRecordList = $db->cpsFldUpdtSQLSeg($record); 

            $stmt = "UPDATE "._CONST_TBL_EMAIL_OUTGOING." SET ".$sUpdRecordList." WHERE id =".$iId;

            if(!$db->Execute($stmt)) return $bResult;

            return true;

        }

1 个答案:

答案 0 :(得分:1)

只需替换你的sql语句。如果将字符串值传递给sql,则必须将其''覆盖您的字符串值。

这是你的sql语句:

$stmt = "UPDATE "._CONST_TBL_EMAIL_OUTGOING." SET ".$sUpdRecordList." WHERE id =".$iId;

复制此代码并替换为您的sql:

$stmt = "UPDATE "._CONST_TBL_EMAIL_OUTGOING." SET ".$sUpdRecordList." WHERE id ='".$iId."'";