首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 5 使用 mysqli 調用 MySQL 預存過程並獲取結果集完整示例

     編輯:PHP 相關知識

創建預存過程

mysql> DELIMITER //
mysql> CREATE PROCEDURE `yejr`()
    -> BEGIN
    ->   SHOW TABLES;
    -> END; //
Query OK, 0 rows affected (0.12 sec)
mysql> DELIMITER ;
mysql> CALL yejr();
+------------------+
| Tables_in_test   |
+------------------+
| yejr1            |
| yejr2            |
+------------------+

PHP mysqli 調用代碼

<?php
$mysqli = new mysqli("localhost", "root", "", "test");
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "CALL yejr();";
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_row()) {
        printf("find table: %s\n", $row[0]);
    }
    $result->close();
}
$mysqli->close();
?>

輸出結果

find table: yejr1
find table: yejr2

關鍵點

  • PHP 4 無法直接獲取預存過程結果集,需升級 PHP 5 並編譯 --with-mysqli。
  • mysqli::query() 返回 mysqli_result 對象,可像普通 SELECT 一樣遍歷。
  • 多結果集場景需使用 mysqli::multi_query() + mysqli::next_result()。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved