伙计我是php的新手,如果这个问题听起来很奇怪的话,请跟我一起。
我有以下mysql查询,我正在使用php运行。请注意,更新查询正在同时更新多个表。
$sql1 = <<<TEST1
UPDATE catalog_topics a
LEFT JOIN catalog_files_join b ON a.catalogID = b.foreignKey
LEFT JOIN catalog_files_join c ON c.foreignKey = b.catalogFileID
LEFT JOIN catalog_files d ON d.catalogFileID = b.catalogFileID
LEFT JOIN catalog_lu_topics e ON a.topicID = e.topicID
SET d.catalogFileID = 'test1',
b.catalogFileID = 'test1',
c.foreignKey = 'test1'
WHERE b.fileTypeID = 'gvl401'
AND c.fileTypeID = 'gvl25'
AND e.parentID = 'top305'
AND a.sortorder =1
AND e.topicID = 'top312';
TEST1;
echo $sql1;
$returnVal = mysql_query($sql1);
如果我从php运行此查询,而不是直接在mysql中运行它,我看到了奇怪的结果。所以我想知道在php中是否还有其他方法来处理同时更新多个表的查询?
尽管如此,上面的查询运行正常(因为$ returnVal为1)...我没有看到DB中更新了所有记录。
有没有办法在PHP中找回更新的记录数?
答案 0 :(得分:1)
mysql_affected_rows()将返回已更新的记录数量