2014-10-18 4 views
0
$link = mysqli_connect("localhost", "root", "", "db"); 
        $stmt = mysqli_prepare($link, "Call breakup_api(@inno)");        
        mysqli_stmt_execute($stmt);       
        $result = mysqli_query($link,'SELECT @inno'); 
        $output = mysqli_fetch_row($result); 
        mysqli_free_result($result);             

        var_dump($output); 

Вышеупомянутая функция - вызов хранимой процедуры в php. Я могу выполнить процедуру с указанным выше кодом, я пытаюсь преобразовать вышеуказанное с помощью подготовленного оператора, но не смог получить результат, как это сделал выше. Может ли кто-нибудь сказать мне, что эквивалентно mysqli_fetch_row ($ result) при использовании подготовленного оператора.Эквивалент для mysqli_fetch_row в подготовленном заявлении

$db = new dbConnect(); 
$this->conn = $db->connect();       
$stmt = $this->conn->prepare("Call breakup_api(@inno);SELECT @inno;");              
$stmt->execute();       
$stmt->close(); 

ответ

0

Использование mysqli_stmt::fetch

$query = "Call breakup_api";// if params -> Call breakup_api ?, ?, ? 

if ($stmt = $this->conn->prepare($query)) { 

    /* execute statement */ 
    $stmt->execute(); 

    /* bind result variables */ 
    $stmt->bind_result($inno); 

    /* fetch values */ 
    while ($stmt->fetch()) { 
     printf ("%s (%s)\n", $inno); 
    } 

    /* close statement */ 
    $stmt->close(); 
} 

PDO не может запускать несколько запросов одновременно, поэтому двигайтесь SELECT @inno внутри хранимой процедуры.