> 백엔드 개발 > PHP 튜토리얼 > PHP는 Mysql 저장 프로시저를 작동합니다.

PHP는 Mysql 저장 프로시저를 작동합니다.

巴扎黑
풀어 주다: 2016-11-24 10:31:44
원래의
1154명이 탐색했습니다.

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿