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 相关文章推荐
初学者入门:细述PHP4的核心Zend
Sep 05 PHP
用IE远程创建Mysql数据库的简易程序
Oct 09 PHP
PHP无限分类的类
Jan 02 PHP
PHP 得到根目录的 __FILE__ 常量
Jul 23 PHP
PHP中英混合字符串截取函数代码
Jul 17 PHP
php中存储用户ID和密码到mysql数据库的方法
Feb 06 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
Jun 09 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
Jun 12 PHP
正确的PHP匹配UTF-8中文的正则表达式
May 13 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
PHP yii实现model添加默认值的方法(两种方法)
Nov 10 PHP
ThinkPHP框架实现FTP图片上传功能示例
Apr 08 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
给海燕B411配件机起死回生配上件
2021/03/02 无线电
PHP 判断变量类型实现代码
2009/10/23 PHP
MySQL连接数超过限制的解决方法
2011/07/17 PHP
php打开文件fopen函数的使用说明
2013/07/05 PHP
分割GBK中文遭遇乱码的解决方法
2013/08/09 PHP
php判断是否为ajax请求的方法
2016/11/29 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
js获得指定控件输入光标的坐标兼容IE,Chrome,火狐等多种主流浏览器
2013/05/21 Javascript
js简易namespace管理器 实例代码
2013/06/21 Javascript
javascript动态获取登录时间和在线时长
2016/02/25 Javascript
原生js实现autocomplete插件
2016/04/14 Javascript
javascript之Array 数组对象详解
2016/06/07 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
2016/06/20 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
2017/11/28 Javascript
angular第三方包开发整理(小结)
2018/04/19 Javascript
Vue-Router基础学习笔记(小结)
2018/10/15 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
bootstrap table插件动态加载表头
2019/07/19 Javascript
微信小程序防止多次点击跳转(函数节流)
2019/09/19 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
2020/03/25 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
[39:07]LGD vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
Python字符串处理之count()方法的使用
2015/05/18 Python
python爬虫获取京东手机图片的图文教程
2017/12/29 Python
python 读取txt中每行数据,并且保存到excel中的实例
2018/04/29 Python
python 生成图形验证码的方法示例
2018/11/11 Python
python3格式化字符串 f-string的高级用法(推荐)
2020/03/04 Python
DRF框架API版本管理实现方法解析
2020/08/21 Python
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
资料员的岗位职责
2013/11/20 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
费用申请报告范文
2015/05/15 职场文书
Pygame如何使用精灵和碰撞检测
2021/11/17 Python
Python 图片添加美颜效果
2022/04/28 Python