PHP操作Mysql存储过程

巴扎黑
发布: 2016-11-24 10:31:44
原创
1266人浏览过

 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);
?>
登录后复制
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号