一、MySQL存储过程
存储过程是一组预编译的SQL语句,用于实现特定的业务逻辑。相对于在应用层编写类似的业务逻辑,使用存储过程可以将这些逻辑移至数据库层面,节省了网络传输的时间,提高了性能。下面是一段简单的MySQL存储过程:
CREATE PROCEDURE `my_proc`(IN `p_id` INT, OUT `p_name` VARCHAR(20))BEGIN SELECT `name` INTO `p_name` FROM `users` WHERE `id` = `p_id`;END
这段存储过程接受一个整型参数p_id,并将对应用户的姓名赋值给p_name输出参数。在应用层调用该存储过程时,只需要传递参数p_id,即可获得对应用户的姓名。使用存储过程的好处在于,下次调用该存储过程时,MySQL引擎已经将该过程编译为机器码,无需再次解析SQL语句,因此执行效率更高。
二、PHP调用MySQL存储过程
存了个图
视频图片解析/字幕/剪辑,视频高清保存/图片源图提取
17 查看详情
立即学习“PHP免费学习笔记(深入)”;
在PHP开发中,使用存储过程可以大大减少数据库操作的时间。下面是调用上述MySQL存储过程的PHP代码:
connect_errno) { die('Connect Error:' . $db->connect_error);}// 准备存储过程的参数和调用语句$id = 1;$p_name = '';$sql = "CALL my_proc($id, @p_name)";// 执行调用语句if ($db->multi_query($sql)) { // 获取输出参数 $db->next_result(); $result = $db->query("SELECT @p_name AS `name`"); $row = $result->fetch_assoc(); $p_name = $row['name']; // 输出查询结果 echo "User $id's name is $p_name";} else { echo "Call Procedure Error:" . $db->error;}// 关闭数据库连接$db->close();?>
在这段PHP代码中,首先连接MySQL数据库,随后准备存储过程的输入参数和调用语句。由于调用存储过程产生的查询结果是通过OUT参数输出的,因此需要执行多个SQL语句才能获取查询结果:首先执行调用语句,随后执行SELECT语句,最后获取输出参数p_name。调用结束后,关闭数据库连接即可。
以上就是php+mysql如何使用存储过程的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/266794.html
微信扫一扫
支付宝扫一扫