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 相关文章推荐
第十节 抽象方法和抽象类 [10]
Oct 09 PHP
一个阿拉伯数字转中文数字的函数
Oct 09 PHP
提升PHP执行速度全攻略(上)
Oct 09 PHP
一个程序下载的管理程序(二)
Oct 09 PHP
关于时间计算的结总
Dec 06 PHP
PHP 第二节 数据类型之数值型
Apr 28 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
Sep 27 PHP
php的GD库imagettftext函数解决中文乱码问题
Jan 24 PHP
为你总结一些php系统类函数
Oct 21 PHP
php 数组处理函数extract详解及实例代码
Nov 23 PHP
PHP 获取客户端 IP 地址的方法实例代码
Nov 11 PHP
TP3.2.3框架文件上传操作实例详解
Jan 23 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 万年历实现代码
2012/10/18 PHP
php求一个网段开始与结束IP地址的方法
2015/07/09 PHP
PHP结合Jquery和ajax实现瀑布流特效
2016/01/07 PHP
CSS中一些@规则的用法小结
2021/03/09 HTML / CSS
CSS+JS构建的图片查看器
2006/07/22 Javascript
JAVASCRIPT对象及属性
2007/02/13 Javascript
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
2015/12/24 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
2018/10/20 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
详解js加减乘除精确计算
2019/03/19 Javascript
jQuery+ajax实现批量删除功能完整示例
2019/06/06 jQuery
Python中使用异常处理来判断运行的操作系统平台方法
2015/01/22 Python
基于scrapy实现的简单蜘蛛采集程序
2015/04/17 Python
Python中字典和集合学习小结
2017/07/07 Python
python3爬取淘宝信息代码分析
2018/02/10 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
Python爬虫PyQuery库基本用法入门教程
2018/08/04 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
2019/07/15 Python
Python计算IV值的示例讲解
2020/02/28 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
用OpenCV进行年龄和性别检测的实现示例
2021/01/29 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
简单介绍HTML5中audio标签的使用
2015/09/24 HTML / CSS
澳大利亚相机之家:Camera House
2017/11/30 全球购物
金讯Java笔试题目
2013/06/18 面试题
缓刑人员的思想汇报
2014/01/11 职场文书
数字化校园建设方案
2014/05/03 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
高三语文教学反思
2016/02/16 职场文书
Nginx域名转发使用场景代码实例
2021/03/31 Servers
mysq启动失败问题及场景分析
2021/07/15 MySQL