我有以下 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)...我没有看到数据库中更新的所有记录。
php中有没有办法获取已更新的记录数?
最佳答案
mysql_affected_rows()将返回已更新的记录数量
关于php mysql查询更新多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1389598/