How can I put two queries in one mysql_query?

前端 未结 4 1501
我寻月下人不归
我寻月下人不归 2020-12-21 04:47

I\'m trying to do something like this:

mysql_query(\"
  UPDATE name SET money = money + 1;
  UPDATE surname SET money = money + 1;
\"); 

bu

相关标签:
4条回答
  • 2020-12-21 05:21

    This can be done using the MySQLi interface, mysqli_multi_query() in particular. http://ca3.php.net/manual/en/mysqli.multi-query.php

    It should be noted that you need to be extra careful with your escaping when using this function as any SQL injection attack has a much broader possible affect.

    0 讨论(0)
  • 2020-12-21 05:33

    http://docs.php.net/mysql_query says:

    mysql_query() sends a unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified link_identifier .

    But you might be interested in mysqli::multi_query:

    Executes one or multiple queries which are concatenated by a semicolon.
    0 讨论(0)
  • 2020-12-21 05:33

    You should use transactions for queries that need to happen in an atomic fashion, which I suspect these may.

    0 讨论(0)
  • 2020-12-21 05:40

    or perhaps you could try this...

    $query1 ="UPDATE name SET money = money + 1;";
    $query2 ="UPDATE surname SET money = money + 1";
    
    mysql_query($query1,$query2) or die(mysql_error());
    
    0 讨论(0)
提交回复
热议问题