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与浏览器缓存的分析
Jun 03 PHP
PHP的curl实现get,post和cookie(实例介绍)
Jun 17 PHP
使用PHP接收POST数据,解析json数据
Jun 28 PHP
ThinkPHP3.1新特性之多层MVC的支持
Jun 19 PHP
php中json_encode UTF-8中文乱码的更好解决方法
Sep 28 PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 PHP
php读取文件内容到数组的方法
Mar 16 PHP
PHP实现抓取迅雷VIP账号的方法
Jul 30 PHP
Yii视图操作之自定义分页实现方法
Jul 14 PHP
Ubuntu 16.04下安装PHP 7过程详解
Mar 28 PHP
php获得刚插入数据的id 的几种方法总结
May 31 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
Oct 10 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
国内咖啡文化
2021/03/03 咖啡文化
php天翼开放平台短信发送接口实现方法
2014/12/22 PHP
php实现将字符串按照指定距离进行分割的方法
2015/03/14 PHP
php模式设计之观察者模式应用实例分析
2019/09/25 PHP
jQuery Clone Bug解决代码
2010/12/22 Javascript
jQuery EasyUI API 中文文档 - ValidateBox验证框
2011/10/06 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
2013/01/03 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
nodejs中简单实现Javascript Promise机制的实例
2014/12/06 NodeJs
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
javascript动态创建链接的方法
2015/05/13 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
整理关于Bootstrap导航的慕课笔记
2017/03/29 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
2018/08/31 Javascript
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
2019/04/01 Javascript
js实现点赞按钮功能的实例代码
2020/03/06 Javascript
原生js实现自定义滚动条组件
2021/01/20 Javascript
Python程序员面试题 你必须提前准备!
2018/01/16 Python
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
2019/01/11 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
pyinstaller打包找不到文件的问题解决
2020/04/15 Python
娇韵诗加拿大官网:Clarins加拿大
2017/11/20 全球购物
会话Bean的种类
2013/11/07 面试题
心得体会怎么写
2013/12/30 职场文书
淘宝店策划方案
2014/06/07 职场文书
在校实习生求职信
2014/06/18 职场文书
见习报告的格式
2014/10/31 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
简短的36句中秋节祝福信息语句
2019/09/09 职场文书
Html5大屏数据可视化开发的实现
2021/06/11 HTML / CSS
oracle连接ODBC sqlserver数据源的详细步骤
2021/07/25 Oracle
JavaScript严格模式不支持八进制的问题讲解
2021/11/07 Javascript
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS