代码之家  ›  专栏  ›  技术社区  ›  jos

php mysql查询更新多个表

  •  0
  • jos  · 技术社区  · 16 年前

    伙计们,我刚接触过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);
    

    与直接在MySQL中运行查询相比,如果从PHP运行此查询,我会看到奇怪的结果。所以我想知道在PHP中是否还有其他方法来处理同时更新多个表的查询?

    尽管如此,上面的查询运行良好(因为$returnval是1)…我没有看到数据库中更新的所有记录。

    在PHP中,是否有方法返回已更新的记录数?

    1 回复  |  直到 16 年前
        1
  •  1
  •   robjmills    16 年前

    mysql_affected_rows()将返回已更新的记录数。

    推荐文章