如何通過 PHP 取得 MySQL procedure 結果
總有網友問我,如何通過php呼叫MySQL的儲存過程同時取得返回的結果集呢?確實,MySQL的儲存過程大大方便了程式設計也提高了效率。但是,對於那些還在用php 4 的同學們來說可就麻煩了,因為php 4只能呼叫儲存過程,但卻無法直接取得返回結果集;不過,用php 5的mysqli函式就可以做到了。首先,重新編譯php 5,增加對mysqli的支援,或者直接下載mysqli的擴充套件模組,這裡不再細說。直接舉個例子吧:
1、 建立儲存過程,列出 test 庫下的所有表:
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 | +------------------+
2、 用 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(); ?>
結果大致如下:
find table: yejr2
本文轉自葉金榮51CTO部落格,原文連結:http://blog.51cto.com/imysql/308288,如需轉載請自行聯絡原作者
相關文章
- mysql 儲存過程 procedure 批次建表MySql儲存過程
- mysql檢視儲存過程show procedure status;MySql儲存過程
- mysql儲存過程procedure、函式function的用法MySql儲存過程函式Function
- MySQL入門--儲存過程(PROCEDURE)和儲存函式(FUNCTION)MySql儲存過程儲存函式Function
- GaussDB(for MySQL) :Partial Result Cache,通過快取中間結果對運算元進行加速MySql快取
- Mysql關於procedure、function的詳解MySqlFunction
- [譯] 通過整合學習提高機器學習結果機器學習
- 簡單的mysql儲存過程,輸出結果集MySql儲存過程
- mysql返回一個結果集的儲存過程小例子MySql儲存過程
- Kettle通過Http post請求webservice介面以及結果解析處理HTTPWeb
- 建立一個系統的Service,能通過ServiceManager.getService取得service
- Mysql資料庫是如何通過索引定位資料MySql資料庫索引
- GBase XDM ldap_result()用來取得先前同步初始化的結果LDA
- MySQL order by 排序結果不正確MySql排序
- mysql group by 取想要的結果MySql
- PHP 如何通過 JSON-RPC 呼叫實現以太坊互動PHPJSONRPC
- PHP通過FFI呼叫CJieba分詞PHPJieba分詞
- MySQL查詢結果匯出方式總結MySql
- 論 MySql InnoDB 如何通過插入意向鎖控制併發插入MySql
- 日付処理:文字列から日付へ変換、年月日の取得(1桁、2桁の取得結果)
- 通過跳板機連線MySQLMySql
- 前端如何通過連結去下載img圖片前端
- ES 如何得到像mysql 中 like 一樣的搜尋結果MySql
- 淺析如何通過PHP類的反射來實現依賴注入PHP反射依賴注入
- PHP-FPM 與 NGINX 通訊過程PHPNginx
- php 透過 JSON RPC 與 golang 通訊PHPJSONRPCGolang
- MLPerf世界紀錄技術分享:通過模型壓縮優化取得最佳效能模型優化
- 如何本機通過 SSH 通道連線雲伺服器 MySQL伺服器MySql
- 如何通過Geth、Node.js和UNIX/PHP訪問以太坊節點Node.jsPHP
- 如何通過 Geth、Node.js 和 UNIX/PHP 訪問以太坊節點Node.jsPHP
- Mac下通過Homebrew安裝MySQLMacMySql
- MySQL 通過 binlog 恢復資料MySql
- MySQL:MySQL客戶端快取結果導致OOMMySql客戶端快取OOM
- mysql 中如何取得漢字欄位的各漢字首字母MySql
- mysql ,tidb sysbench 測試結果記錄MySqlTiDB
- MySQL 按指定 ID 順序返回結果MySql
- Mysql按指定 ID 順序返回結果MySql
- php開源短影片原始碼,如何快速修改MySQL的表結構?PHP原始碼MySql
- 通過 WebAssembly 在瀏覽器執行 PHPWeb瀏覽器PHP