2013-10-24 109 views
0

我想只在這個多查詢語句中的第二個查詢中得到結果。目前,我構建的方式從兩個查詢語句中獲得結果:如何從PHP multiquery語句獲得第二個結果集?

$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));  

回答

0

這是否對ya有用?

$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));  
相關問題