PHP SQL SELECT,然后更新值


PHP SQL SELECT and then UPDATE the value

我有个问题。

$db = JFactory::getDBO();
$res2 = $_data['DateSubmitted'];
//res2 returns 2014-08-31 12:03:02
$res3 = $_data['UserIp'];
//res3 returns 109.173.20.143 for example
$resdate = date('Y-m-d H:i:s', strtotime($res2));
$SubmId = $db->query("SELECT `SubmissionId` FROM `rrr_submissions` WHERE `FormId` = '20' AND `DateSubmitted`='".$resdate."' AND `UserIp`='".$res3."'");
$db->setQuery("UPDATE `rrr_submission_values` SET `FieldValue` = '".$SubmId."' WHERE `FieldName`='7_Status' AND `SubmissionId`='5682'");
$db->query();

在rrr_submissions:中

  • SubmissionId为INT(11)AUTO_INCREMENT
  • FormId为INT(11)
  • DateSubmitted是日期时间
  • UserIp是varchar(15)

在rrr_submission_values:中

  • FieldValue为文本
  • FieldName为文本
  • SubmissionId为int(11)

我做错了什么?在结果中,我在FieldValue中看到"1"。

尝试加载结果行,然后调用字段值。

$db = JFactory::getDBO();
$res2 = $_data['DateSubmitted'];
//res2 returns 2014-08-31 12:03:02
$res3 = $_data['UserIp'];
//res3 returns 109.173.20.143 for example
$resdate = date('Y-m-d H:i:s', strtotime($_data['DateSubmitted']));
$SubmId = $db->query("SELECT `SubmissionId` FROM `rrr_submissions` WHERE `FormId` = '20' AND `DateSubmitted`='".$resdate."' AND `UserIp`='".$res3."'");
$row = $db->loadRow();
$SubmId = $row['SubmissionId'];
$db->setQuery("UPDATE `rrr_submission_values` SET `FieldValue` = '".$SubmId."' WHERE `FieldName`='7_Status' AND `SubmissionId`='5682'");
$db->query();