成功运行 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;
}
只需替换您的 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."'";