[英]how to get the the out parameter of the stored procedure using the mysqli
我的存儲過程有一個名為'@var'的out參數,它將是一個整數值。 我可以執行存儲過程,但是后來我無法獲得out參數的值。
當我從mysql更改為mysqli時,此問題已解決。
當我使用mysql連接時,代碼工作正常,代碼如下所示
$query = "CALL myStoredProcedure('$LocationIdToEdit',@var)";
$result = mysql_query($query);
$result = mysql_query("SELECT @var;");
$row = mysql_fetch_row($result);
$myVar = $row[0];
現在我將mysql更改為mysqli,如下所示
$query = "CALL myStoredProcedure('$LocationIdToEdit',@var)";
$result = mysqli_query($conn, $query);
$result2 = mysqli_query($conn,"SELECT @var;");
$row = mysqli_fetch_row($result2);
$myVar = $row[0];
現在$ row的值是null,但是如果我在查詢瀏覽器中執行相同的代碼,它的工作正常,但是在php中卻沒有.....
$result2 = mysqli_query($conn,"SELECT @var;");
$row = mysqli_fetch_row($result2);
這將重新調整空值。
拜托,誰能幫我。
嘗試:
$mysqli = new mysqli( "HOST", "USR", "PWD", "DBNAME" );
$LocationIdToEdit= //your value here
$res = $mysqli->multi_query( "CALL myStoredProcedure($LocationIdToEdit,@var)" );
do {
if ($result = $mysqli->store_result()) {
printf( "<b>Result #%u</b>:<br/>", ++$results );
while( $row = $result->fetch_row() ) {
foreach( $row as $cell ) echo $cell, " ";
}
$result->close();
if( $mysqli->more_results() ) echo "<br/>";
}
} while( $mysqli->next_result() );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.