- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
16.8 PDO中存储过程 存储过程允许在更接近于数据的位置操作数据,从而减少带宽的使用,它们使数据独立于脚本逻辑,允许使用不同语言的多个系统以相同的方式访问数据,从而节省了花费在编码和调试上的宝贵时间。同时它使用预定义的方案执行操作,提高查询速度,并且能够阻止与数据的直接相互作用,从而起到保护数据的作用。 下面讲解如何在PDO中调用存储过程。这里首先创建一个存储过程,其SQL语句如下: drop procedure if exists pro_reg; delimiter // create procedure pro_reg (in nc varchar(80), in pwd varchar(80), in email varchar(80),in address varchar(50)) begin insert into tb_reg (name, pwd ,email ,address) values (nc, pwd, email, address); end; // “drop”语句删除MySQL服务器中已经存在的存储过程pro_reg。 “delimiter //”的作用是将语句结束符更改为“//”。 “in nc varchar(50)……in address varchar(50)”表示要向存储过程中传入的参数。 “begin……end”表示存储过程中的语句块,它的作用类似与PHP语言中的“{……}”。 存储过程创建成功后,下面调用这个存储过程实现用户注册的功能。 在PDO 中通过CALL语句调用存储过程,实现用户注册信息的添加操作。具体实现如下: 【例16-13】 创建index.php文件。首先,创建form表单,将用户注册信息通过POST方法提交到本页。然后,在本页中编写PHP脚本,通过PDO连接MySQL数据库,并且设置数据库编码格式为UTF8,获取表单中提交的用户注册信息。接着,通过call语句调用存储过程pro_reg,将用户注册信息添加到数据表中。最后,通过try{}catch{}语句块返回错误信息。其关键代码如下。 ?php if($_POST[submit]!=){ $dbms=mysql; //数据库类型 ,对于开发者来说,使用不同的数据库,只要改这个,不用记住那么多的函数 $host=localhost; //数据库主机名 $dbName=db_database16; //使用的数据库 $user=root; //数据库连接用户名 $pass=111; //对应的密码 $dsn=$dbms:host=$host;dbname=$dbName; try { $pdo = new PDO($dsn, $user, $pass); //初始化一个PDO对象,就是创建了数据库连接对象$pdo $pdo-query(set names utf8); //设置数据库编码格式 $pdo-setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); //定义错误异常模式 $nc=$_POST[nc]; $pwd=md5($_POST[pwd]); $email=$_POST[email]; $address=$_POST[address]; $query=call pro_reg($nc,$pwd,$email,$address); $result=$pdo-prepare($query); if($result-execute()){ echo 数据添加成功!; }else{ echo 数据添加失败!; } } catch (PDOException $e) { echo PDO Exception Caught.; echo Error with the database:br/; echo SQL Query: .$query; 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; } } ? 其运行结果如图16-15所示。 图16-15 通过
您可能关注的文档
- Photoshop图像处理教程 作者 李长安 詹黔江 10.ppt
- Photoshop图像处理教程 作者 李长安 詹黔江 11.ppt
- Photoshop图像处理能力教程 教学课件 作者 孙振池 等 第1章 安装与配置Photoshop CS2.ppt
- Photoshop图像处理能力教程 教学课件 作者 孙振池 等 第3章 使用图层.ppt
- Photoshop图像处理能力教程 教学课件 作者 孙振池 等 第4章 使用路径.ppt
- Photoshop图像处理能力教程 教学课件 作者 孙振池 等 第5章 使用蒙版和通道.ppt
- Photoshop图像处理能力教程 教学课件 作者 孙振池 等 第7章 使用滤镜.ppt
- Photoshop图像处理能力教程 教学课件 作者 孙振池 等 第8章 联合使用其他程序.ppt
- Photoshop图像处理能力教程 教学课件 作者 孙振池 等 第9章 自动化处理.ppt
- Photoshop图像处理能力教程(第二版) 教学课件 作者 张卫国 教材课件.ppt
- PHP应用开发与实践 作者 马骏 第17章 Smarty模板引擎.ppt
- PHP应用开发与实践 作者 马骏 第20章 课程设计——微博.ppt
- PLC及其在数控机床中的应用 作者 祝红芳 第2章 PLC基础知识.ppt
- PLC及其在数控机床中的应用 作者 祝红芳 第3章 PLC系统组成与工作原理.ppt
- PLC及其在数控机床中的应用 作者 祝红芳 第5章 S7-200 可编程序控制器指令.ppt
- PLC及其在数控机床中的应用 作者 祝红芳 第8章 可编程序控制器应用设计.ppt
- PLC及其在数控机床中的应用 作者 祝红芳 第9章 可编程控制器的通信.ppt
- PLC及其在数控机床中的应用 作者 祝红芳 第10章 PLC在数控机床上的.ppt
- PLC及其在数控机床中的应用 作者 祝红芳 封面及目录.ppt
- PLC控制系统编程与实现课件 任务二 S7-200系列PLC的选用.ppt
文档评论(0)