PHP操作Mysql儲存過程

巴扎黑
發布: 2016-11-24 10:31:44
原創
1122 人瀏覽過

 MySQL 預存程序是從 MySQL 5.0 開始增加的新功能。預存程序的優點主要是執行效率和SQL 程式碼封裝。特別是 SQL 程式碼封裝功能,尤其是在業務邏輯複雜的時候。現在有了 MySQL 預存程序,業務邏輯可以封裝在儲存過程中,這不僅容易維護,而且執行效率也高。

<?php 
/**
 * PHP操作Mysql存储过程示例
 * 
 * @author flyer0126
 * @date 2011-12-23
 * 
 */
//配置数据库连接信息
$hostname = &#39;localhost&#39;;
$username = &#39;******&#39;;
$password = &#39;******&#39;;
//连接mysql数据库
@$link = mysql_connect($hostname, $username, $password) or die("Connect Error:".mysql_error());
//选择目标库
mysql_select_db("flyer0126");
//展示目标库中数据表
@$res = mysql_list_tables("flyerdb");
for ($i=0; $i<mysql_num_rows($res); $i++){
echo mysql_tablename($res, $i)."<br/>";
}
//创建存储结构
mysql_query("DROP PROCEDURE IF EXISTS `my_test1`;", $link);
$create_pro_sql = "CREATE PROCEDURE `my_test1`(a INT, b INT)
BEGIN
DECLARE c INT;
IF a IS NULL THEN SET a = 0;
END IF;
IF b IS NULL THEN SET b = 0;
END IF;
SET c = a + b;
SELECT c AS SUM;
END;";
mysql_query($create_pro_sql, $link) or die("Query Invalid:".mysql_error());
//执行存储过程方式一
//$run_pro_sql = "CALL my_test1(1,2);";
//执行存储过程方式二
mysql_query("SET @a = 1", $link);
mysql_query("SET @b = 2", $link);
$run_pro_sql = "CALL my_test1(@a, @b);";
//执行存储过程
$result = mysql_query($run_pro_sql, $link) or die("Query Invalid:".mysql_error());;
//获取返回值
$row = mysql_fetch_row($result);
echo $row[0];
//3
//关闭连接
mysql_close($link);
?>
登入後複製


相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!