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 相关文章推荐
Get或Post提交值的非法数据处理
Oct 09 PHP
基于mysql的bbs设计(五)
Oct 09 PHP
php 无限极分类
Mar 27 PHP
PHP 图片上传实现代码 带详细注释
Apr 29 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
Nov 10 PHP
php中日期加减法运算实现代码
Dec 08 PHP
PHP中3种生成XML文件方法的速度效率比较
Oct 06 PHP
php文件上传后端处理小技巧
May 22 PHP
php使用正则表达式获取字符串中的URL
Dec 29 PHP
PHP中危险的file_put_contents函数详解
Nov 04 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
php字符串过滤strip_tags()函数用法实例分析
Jun 24 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设计模式之适配器模式原理与用法分析
2018/04/25 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
javascript自适应宽度的瀑布流实现思路
2013/02/20 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
JavaScript的模块化:封装(闭包),继承(原型) 介绍
2013/07/22 Javascript
使用js在页面中绘制表格核心代码
2013/09/16 Javascript
jquery与prototype框架的详细对比
2013/11/21 Javascript
javascript 获取网页标题代码实例
2014/01/22 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
2017/01/21 Javascript
vue自定义过滤器创建和使用方法详解
2017/11/06 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
vue中父子组件的参数传递和应用示例
2021/01/04 Vue.js
从Python的源码浅要剖析Python的内存管理
2015/04/16 Python
Python类的用法实例浅析
2015/05/27 Python
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
Python 实现随机数详解及实例代码
2017/04/15 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
多个python文件调用logging模块报错误
2020/02/12 Python
python初步实现word2vec操作
2020/06/09 Python
python实现最短路径的实例方法
2020/07/19 Python
Pycharm新手使用教程(图文详解)
2020/09/17 Python
vue+django实现下载文件的示例
2021/03/24 Vue.js
食堂员工工作职责
2013/12/18 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
离婚协议书范本及离婚须知
2014/10/15 职场文书
2015年农村党员干部主题教育活动总结
2015/03/25 职场文书
观后感格式
2015/06/19 职场文书
利用JuiceFS使MySQL 备份验证性能提升 10 倍
2022/03/17 MySQL