PHP实现PDO操作mysql存储过程示例


Posted in PHP onFebruary 13, 2019

本文实例讲述了PHP实现PDO操作mysql存储过程。分享给大家供大家参考,具体如下:

一 代码

sql语句:

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;

index.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用户注册</title>
<link rel="stylesheet" type="text/css" href="style.css" rel="external nofollow" >
</head>
<script language="javascript">
 function chkinput(form){
  if(form.nc.value==""){
     alert("请输入用户昵称!");
     form.nc.select();
     return(false);
    }
  if(form.pwd.value==""){
     alert("请输入注册密码!");
     form.pwd.select();
     return(false);
    }
     if(form.email.value==""){
     alert("请输入E-mail地址!");
     form.email.select();
     return(false);
    }
    if(form.address.value==""){
     alert("请输入家庭地址!");
     form.address.select();
     return(false);
    }
  return(true);
 }
</script>
<body>
<table width="200" border="0" align="center" cellpadding="0" cellspacing="0">
 <tr>
  <td><img src="images/banner.gif" width="500" height="65" /></td>
 </tr>
</table>
<table width="500" height="10" border="0" align="center" cellpadding="0" cellspacing="0">
 <tr>
  <td></td>
 </tr>
</table>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
 <tr>
  <td bgcolor="#1170FF"><table width="500" height="157" border="0" align="center" cellpadding="0" cellspacing="1">
   <form name="form1" method="post" action="index.php" onsubmit="return chkinput(this)">
     <tr>
    <td height="25" colspan="2" bgcolor="#B5D3FF"><div align="center">用户注册</div></td>
   </tr>
   <tr>
    <td width="150" height="25" bgcolor="#FFFFFF"><div align="center">用户昵称:</div></td>
    <td width="347" bgcolor="#FFFFFF"> <input type="text" name="nc" class="inputcss" size="25"></td>
   </tr>
   <tr>
    <td height="25" bgcolor="#FFFFFF"><div align="center">注册密码:</div></td>
    <td height="25" bgcolor="#FFFFFF"> <input type="password" name="pwd" class="inputcss" size="25"></td>
   </tr>
   <tr>
    <td height="25" bgcolor="#FFFFFF"><div align="center">E-mail:</div></td>
    <td height="25" bgcolor="#FFFFFF"> <input type="text" name="email" class="inputcss" size="25"></td>
   </tr>
   <tr>
    <td height="25" bgcolor="#FFFFFF"><div align="center">家庭住址:</div></td>
    <td height="25" bgcolor="#FFFFFF"> <input type="text" name="address" class="inputcss" size="25"></td>
   </tr>
   <tr>
    <td height="25" colspan="2" bgcolor="#FFFFFF"><div align="center"><input type="submit" name="submit" value="注册" class="buttoncss">  <input type="reset" value="重写" class="buttoncss"></div></td>
   </tr>
     </form>
  </table></td>
 </tr>
</table>
<table width="600" height="80" border="0" align="center" cellpadding="0" cellspacing="0">
 <tr>
  <td><div align="center"><br />
    版权所有 吉林省**科技有限公司! 未经授权禁止复制或建立镜像!<br />
   Copyright © , All Rights Reserved! <br />
   <br />
   建议您在大于1024*768的分辨率下使用 </div></td>
 </tr>
</table>
<?php
 if($_POST['submit']!=""){
     $dbms='mysql'; //数据库类型 ,对于开发者来说,使用不同的数据库,只要改这个,不用记住那么多的函数
    $host='localhost'; //数据库主机名
    $dbName='db_database15'; //使用的数据库
    $user='root'; //数据库连接用户名
    $pass='root'; //对应的密码
    $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>';
    }
 }
?>
</body>
</html>

二 运行结果

数据添加成功!

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
第十五节--Zend引擎的发展
Nov 16 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
Jun 10 PHP
php数组函数序列之array_search()- 按元素值返回键名
Nov 04 PHP
PHP5常用函数列表(分享)
Jun 07 PHP
php错误级别的设置方法
Jun 17 PHP
解析php如何将日志写进syslog
Jun 28 PHP
php导入csv文件碰到乱码问题的解决方法
Feb 10 PHP
linux中cd命令使用详解
Jan 08 PHP
php计算年龄精准到年月日
Nov 17 PHP
PHP几个实用自定义函数小结
Jan 25 PHP
Zend Framework动作助手Redirector用法实例详解
Mar 05 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
Dec 19 PHP
在PHP中输出JS语句以及乱码问题的解决方案
Feb 13 #PHP
PHP实现通过文本文件统计页面访问量功能示例
Feb 13 #PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
Feb 13 #PHP
PHP封装的简单连接MongoDB类示例
Feb 13 #PHP
总结PHP中初始化空数组的最佳方法
Feb 13 #PHP
PHP convert_cyr_string()函数讲解
Feb 13 #PHP
php如何比较两个浮点数是否相等详解
Feb 12 #PHP
You might like
PHP中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
php xml-rpc远程调用
2008/12/19 PHP
深入phpMyAdmin的安装与配置的详细步骤
2013/05/07 PHP
php计算到指定日期还有多少天的方法
2015/04/14 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
How to Auto Include a Javascript File
2007/02/02 Javascript
用javascript实现的图片马赛克后显示并切换加文字功能
2007/04/21 Javascript
Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
2010/03/27 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
分享12个非常实用的JavaScript小技巧
2016/05/11 Javascript
微信小程序学习(4)-系统配置app.json详解
2017/01/12 Javascript
3分钟快速搭建nodejs本地服务器方法运行测试html/js
2017/04/01 NodeJs
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
Python中的is和id用法分析
2015/01/26 Python
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
Python 统计字数的思路详解
2018/05/08 Python
Python全排列操作实例分析
2018/07/24 Python
python面向对象法实现图书管理系统
2019/04/19 Python
python 含子图的gif生成时内存溢出的方法
2019/07/07 Python
Python中断多重循环的思路总结
2019/10/04 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
Python爬虫入门教程02之笔趣阁小说爬取
2021/01/24 Python
教学评估实施方案
2014/03/16 职场文书
运动会口号16字
2014/06/07 职场文书
2014年作风建设工作总结
2014/10/29 职场文书
安全教育第一课观后感
2015/06/17 职场文书
投诉书范文
2015/07/02 职场文书
春节慰问简报
2015/07/21 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
python如何利用traceback获取详细的异常信息
2021/06/05 Python
SQL实现LeetCode(176.第二高薪水)
2021/08/04 MySQL