PHP笔记:使用存储过程
文章目录
- 创建存储过程
- PDO调用存储过程
存储过程就是存储在服务器中的一套SQL语句。一旦SQL语句被存储了,客户端就不需要再重新发布单独的语句,而是可以引用存储过程来替代。这样可以减少带宽的使用,提高查询速度,也能够阻止与数据的直接相互作用,从而起到保护数据的作用。
创建存储过程
命令行进入Mysql,选择需要创建存储过程的数据库,使用类似命令
CREATE PROCEDURE xxxx(存储过程名)
AS
BEGIN
xxxxxx(SQL语句)
END
GO
这里使用phpMyAdmin创建存储过程
第一步、鼠标左键单击要创建存储过程的数据库
第二步、选择导航菜单中的”程序”选项
第三步、新建区域内,选择“添加程序”命令
第四步、在弹出对话框中进行设置
选项 | 含义 |
---|---|
程序名称 | 存储过程名称 |
类型 | PROCEDURE表示存储过程 |
参数 | 设置存储过程中定义的一个参数变量,方向设置中in用于接收参数,out用于输出值 |
定义 | 输入SQL字符串,表示存储过程待执行的SQL语句集,其中values中可以包含参数变量,以便接受客户端传递过来的值,动态设置要插入的信息 |
第五步、执行,结束创建
PDO调用存储过程
<?php
$dbms='mysql'; //数据库类型
$host='localhost'; //数据库主机名
$dbName='db_book_php_16'; //使用的数据库
$user='root'; //数据库连接用户名
$pass='root'; //密码
$dsn="$dbms:host=$host;dbname=$dbName";
try {
//初始化PDO对象,创建数据库连接
$db = new PDO($dsn, $user, $pass);
$sql="call test('测试员小明')";
$result=$db->prepare($sql);
if($result->execute()){
echo "数据添加成功!";
}else{
echo "数据添加失败!";
}
} catch (PDOException $e) {
echo 'SQL字符串: '.$sql;
echo '<pre>';
echo "Error: " . $e->getMessage(). "<br/>";
echo "Code: " . $e->getCode(). "<br/>";
echo "File: " . $e->getFile(). "<br/>";
echo "Line: " . $e->getLine(). "<br/>";
echo "Trace: " . $e->getTraceAsString(). "<br/>";
echo '</pre>';
}
还没有评论,来说两句吧...