【问题标题】:How do I get second result set from PHP multiquery statement?如何从 PHP 多查询语句中获取第二个结果集?
【发布时间】:2013-11-03 07:18:05
【问题描述】:

我只想从这个多查询语句中的第二个查询中获取结果。目前,我构建它的方式是从两个查询语句中获取结果:

$query = ("call calcfields2_new('$_SESSION[Userid]');");
$query .= "SELECT * FROM CalcFields WHERE Userid=$_SESSION[Userid]"; 

if (mysqli_multi_query($dbc, $query)) {
do {
    if ($result = mysqli_store_result($dbc)) {
        while ($row = mysqli_fetch_assoc($result)) {

    $array1[]=$row;
        }
        mysqli_free_result($result);
        }
    if (mysqli_more_results($dbc)) {
    }
} 
while (mysqli_next_result($dbc));
}
}

echo(json_encode($array1));     

【问题讨论】:

    标签: php mysqli-multi-query


    【解决方案1】:

    这对你有用吗?

    $query = ("call calcfields2_new('$_SESSION[Userid]');");
    $query .= "SELECT * FROM CalcFields WHERE Userid=$_SESSION[Userid]";
    
    preg_match_all("/(?:(.*?)\s.*?(?:;|$))/",$query,$first_word);
    
    if(mysqli_multi_query($dbc,$query)){
        do{
            if($result=mysqli_store_result($dbc)){
                if(array_shift($first_word[1])=="SELECT"){
                    while($row=mysqli_fetch_assoc($result)) {
                        $array1[]=$row;
                    }
                }
                mysqli_free_result($result);
            }
        } while(mysqli_more_results($dbc) && mysqli_next_result($dbc));
    }
    // if($error_mess=mysqli_error($dbc)){echo "Error: $error_mess";}
    
    echo(json_encode($array1));     
    

    【讨论】:

      猜你喜欢
      • 2018-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-16
      • 2013-03-01
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多