我正在使用jQuery jeditable来允许基于MySQL数据库表编辑HTML表。但它不是问题。除了一个超时列之外,它在所有列上运行良好。我想获取logdate列的日期部分并使用它来构建超时值。新小时:min部分是用户输入的内容。正在编辑的列称为“超时”。
我的第一次尝试看起来像这样;
if ($column == "timeout") {
$toSQL = "UPDATE NetLog t2
JOIN NetLog t1 ON t2.recordID = t1.recordID
SET t2.timeout = DATE_FORMAT(t2.logdate, '%Y-%m-%d')
WHERE t2.recordID = $recordID";
$stmt = $db_found->prepare($toSQL);
$stmt->execute();
}
这没有更新表,也没有抛出任何错误。是的$ value解析为12:34或用户输入的任何内容。制作新的超时值2017-10-20 12:34。
然后我尝试了这个;
If ($column == "timeout") { $TOSQL = "SELECT DATE_FORMAT(logdate,
'%Y-%m-%d') as dateonly, recordID
FROM NetLog
WHERE recordID = $recordID"; foreach($db_found->query($TOSQL) as $row) { $newdttm = "$row[dateonly] $value"; $recordID =
"$row[recordID]"; } $moretogo = 1; } if ($column == "timeout" AND
$moretogo == 1) { echo("$newdttm $recordID "); // 2017-10-20 12:34
8117 $sql = "UPDATE NetLog SET timeout = '$newdttm'
,timeonduty = (timestampdiff(SECOND, logdate, '$newdttm')) WHERE recordID = $recordID "; $stmt = $db_found-prepare($sql);
$stmt->execute(); }
回声的输出如下:2017-10-20 12:34 8117,这正是我所期待的。我也尝试了很多其他的东西,但我没有做任何更新MySQL表。这会引发500错误,但我找不到任何错误导致它。