用PHP运行两个多行查询


Running two multi line queries in PHP

我正在尝试运行以下php脚本

    $maxmonth = date('m');
    $maxyear = date('Y');
    $sql = "SET @cmonth = 1;
            SET @cyear = 2015;
            SET @maxmonth = ".$maxmonth.";
            SET @maxyear = ".$maxyear.";
            CALL insertBills(@cyear,@cmonth,@maxyear,@maxmonth);";
    multiQuery($sql);
    $sql = "SET @cfmonth = 1;
            SET @cfyear = 2015;
            SET @maxfmonth = ".$maxmonth.";
            SET @maxfyear = ".$maxyear.";
            CALL insertFees(@cfyear,@cfmonth,@maxfyear,@maxfmonth);";
    multiQuery($sql);

问题是一次只运行一个。如果我禁用了第一个,第二个就可以了,但这两个都不是在一个页面刷新中执行的。

function multiQuery($sql) {
    global $dbi_connection;
    $dbi_result = mysqli_multi_query($dbi_connection,$sql);
    return $dbi_result;
}

看看mysqli_multi_query是如何工作的,您需要用分号连接查询,然后将单个查询发送到函数。

现在您将分别发送这两个查询,因此一次只执行一个查询。