我有 2 个表,其中一个我想在特定行中增加一个计数器,同时在另一个表中进行插入。我正在使用 php 和 MySQL,引擎是 InnoDB。
这是我的代码:
function incrementCommentCounter ($id,$photoId,$text,$date) {
$query1= "UPDATE photos SET comments=comments+1 WHERE IdPhoto=$photoId";
//$query2= "INSERT INTO allComments (IdPhoto,IdUser,comment,date) VALUES ('%s',1,'%s',%s)";
//check if a user ID is passed
//if (!$id) errorJson('Authorization required');
mysql_query("START TRANSACTION");
$result1=mysql_query($query1);
$result2=mysql_query("INSERT INTO allComments (IdPhoto,IdUser,comment,dates) VALUES ('%s',1,'%s','%s')",$photoId,$text,$date);
if (!$result1 || !$result2) {
mysql_query("ROLLBACK");
errorJson($result2['error']);
} else {
mysql_query("COMMIT");
print json_encode(array('successful'=>1));
}
}
我究竟做错了什么?
谢谢。
编辑:
修正了一些错别字。现在第二个查询永远不会正确执行,因此它们都没有被执行。但是第二个查询有什么问题?