Php mysqli_multi_查询不返回任何值

Php mysqli_multi_查询不返回任何值,php,mysql,codeigniter,mysqli,Php,Mysql,Codeigniter,Mysqli,在mysqli\u multi\u query的帮助下,我启动了以下查询。它正在正确执行,但不返回任何值。它返回空白。mysqli\u multi\u查询有什么问题吗或者在codeigniter中触发多个查询有什么替代方法吗 $sql="LOCK TABLE xp_subunit WRITE; "; $sql .= "SELECT @myLeft := ".$_GET['lft'].", @myRight := ".$_GET['rgt'].", @myWidth := ".$

在mysqli\u multi\u query的帮助下,我启动了以下查询。它正在正确执行,但不返回任何值。它返回空白。
mysqli\u multi\u查询有什么问题吗
或者在codeigniter中触发多个查询有什么替代方法吗

   $sql="LOCK TABLE xp_subunit WRITE; ";
    $sql .= "SELECT @myLeft := ".$_GET['lft'].", @myRight :=  ".$_GET['rgt'].", @myWidth :=  ".$_GET['lft']." - lft + 1
    FROM xp_subunit
    WHERE id =".$_GET['id']."; ";

    $sql .= "DELETE FROM xp_subunit WHERE lft BETWEEN @myLeft AND @myRight; ";

    $sql .= "UPDATE xp_subunit SET rgt = rgt - @myWidth WHERE rgt > @myRight; ";
    $sql .= "UPDATE xp_subunit SET lft = lft - @myWidth WHERE lft > @myRight; ";
    $sql.="UNLOCK TABLES;";

    //echo $sql;
    $query = $this->db->mysqli_multi_query($sql);

试试下面的例子吧

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
$mysqli->multi_query($query);
?>


我认为这可能有助于您获得解决方案。

请注意:存在一个潜在的sql注入漏洞(传入$\u get['id'],等等,未经scaped),请发布读取值的方式。请参阅示例,下面是一个如何从多重查询中检索结果的示例。Codeigniter中是否有
mysqli\u多重查询
?您不需要使用本机PHP函数吗?@Yan mysqli可以用作CodeIgniter中的数据库驱动程序。