PHP操作Mysql存储过程_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > PHP操作Mysql存储过程

PHP操作Mysql存储过程

 2011/12/27 9:08:31  flyer0126  http://flyer0126.iteye.com  我要评论(0)
  • 摘要:PS:原创文章,如需转载,请注明出处,谢谢!本文地址:http://flyer0126.iteye.com/blog/1323188MySQL存储过程是从MySQL5.0开始增加的新功能。存储过程的优点主要是执行效率和SQL代码封装。特别是SQL代码封装功能,尤其是业务逻辑复杂的时候。现在有了MySQL存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高。<?php/***PHP操作Mysql存储过程示例**@authorflyer0126*@date2011-12
  • 标签:PHP 过程 SQL 存储过程 操作 MySQL mysql存储过程

????? PS:原创文章,如需转载,请注明出处,谢谢! ????

????? 本文地址:http://flyer0126.iteye.com/blog/1323188

?

????? MySQL 存储过程是从 MySQL 5.0 开始增加的新功能。存储过程的优点主要是执行效率和SQL 代码封装。特别是 SQL 代码封装功能,尤其是业务逻辑复杂的时候。现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高。

?

<?php 
/**
 * PHP操作Mysql存储过程示例
 * 
 * @author flyer0126
 * @date 2011-12-23
 * 
 */

//配置数据库连接信息
$hostname = 'localhost';
$username = '******';
$password = '******';

//连接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);

?>
?

?

发表评论
用户名: 匿名