【问题标题】:INSERT Statement after a SELECT in mysql_querymysql_query 中 SELECT 后的 INSERT 语句
【发布时间】:2009-03-10 17:32:52
【问题描述】:

我正在尝试在一个 mysql_query 中执行两条 SQL 语句。

$mySql = mysql_query("SELECT itemid, points FROM items WHERE id='1' UPDATE accounts SET userpoints = '1000'");

这可能吗?谢谢!

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    您只能在mysql_query 中执行一个查询(即使您使用分号终止符分隔查询)。

    您必须单独调用它们(尽管this guy 有一种方法可以自动执行此操作)。

    【讨论】:

    • 另外,UPDATE 查询中缺少 WHERE。
    【解决方案2】:

    如果你使用mysqli,你可以使用mysqli_multi_query()

    【讨论】:

    • 更好的解决方案 - 如果您使用 PHP5,请利用 MySQLi!
    • 请注意,MySQLi 更容易受到 SQL 注入的影响,因为它允许这种代码:stackoverflow.com/questions/332365/…
    【解决方案3】:

    我不会尝试这样做,因为您将无法利用来自不同查询的结果(返回值、mysql_insert_id()、...)

    【讨论】:

      猜你喜欢
      • 2011-12-04
      • 2011-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-02
      • 2021-06-16
      • 1970-01-01
      相关资源
      最近更新 更多