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 相关文章推荐
PHP设计模式 注册表模式(多个类的注册)
Feb 05 PHP
通过缓存数据库结果提高PHP性能的原理介绍
Sep 05 PHP
PHP的基本常识小结
Jul 05 PHP
PHP实现读取一个1G的文件大小
Aug 24 PHP
PHP中使用memcache存储session的三种配置方法
Apr 05 PHP
php中in_array函数用法探究
Nov 25 PHP
PHP执行SQL文件并将SQL文件导入到数据库
Sep 17 PHP
php 数组随机取值的简单实例
May 23 PHP
基于thinkPHP框架实现留言板的方法
Oct 17 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
php use和include区别总结
Oct 13 PHP
PhpStorm连接服务器并实现自动上传功能
Dec 09 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分页函数代码(简单实用型)
2010/12/02 PHP
php自定义错误处理用法实例
2015/03/20 PHP
深入理解PHP内核(一)
2015/11/10 PHP
PHP实现的曲线统计图表示例
2016/11/10 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
基于jquery的tab切换 js原理
2010/04/01 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
2013/11/18 Javascript
IE中鼠标经过option触发mouseout的解决方法
2015/01/29 Javascript
javascript下拉列表中显示树形菜单的实现方法
2015/11/17 Javascript
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
JavaScript中的对象和原型(一)
2016/08/12 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
bootstrap3使用bootstrap datetimepicker日期插件
2017/05/24 Javascript
详解从零搭建 vue2 vue-router2 webpack3 工程
2017/11/22 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
微信小程序页面调用自定义组件内的事件详解
2019/09/12 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
python3使用scrapy生成csv文件代码示例
2017/12/28 Python
Python列表推导式与生成器表达式用法示例
2018/02/08 Python
10个Python小技巧你值得拥有
2018/09/29 Python
python实现停车管理系统
2018/11/30 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
Python如何操作docker redis过程解析
2020/08/10 Python
css3 transform属性详解
2014/09/30 HTML / CSS
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
美国演唱会和体育门票购买网站:Ticketnetwork
2018/10/19 全球购物
小学教师师德演讲稿
2014/05/06 职场文书
2016银行招聘自荐信
2016/01/28 职场文书
干货:如何写好工作计划!
2019/05/17 职场文书
Nginx的反向代理实例详解
2021/03/31 Servers
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers