成功运行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;
}
答案 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."'";