PHP基于PDO扩展操作mysql数据库示例


Posted in PHP onDecember 24, 2018

本文实例讲述了PHP基于PDO扩展操作mysql数据库。分享给大家供大家参考,具体如下:

SELECT

//查单条
function get_sub_product()
{
  $res_zz = $pdo->query("SELECT id FROM content WHERE is_publish = 0 LIMIT 1;");
  $rep = $res_zz->fetch();
}
//查多条
function get_sub_product()
{
  $dsn = 'mysql:host=localhost;dbname=bwdb';
  $pdo = new PDO($dsn, 'root', 'root');
  $pdo->query('set names utf8');
  $res_zz = $pdo->query("SELECT product_id FROM sub_product WHERE 1= 1;");
  $rep = $res_zz->fetchAll();
  $product_id_arr = array();
  foreach ($rep as $v) {
    $product_id_arr[] = $v['product_id'];
  }
  return $product_id_arr;
}

INSERT

function add()
{
  try {
    $pdo->beginTransaction();
    $reb = $pdo->prepare("INSERT INTO `content` (`id`,`content`) VALUES(:version_id,:content);");
    $reb->bindParam(':version_id', $version_id, PDO::PARAM_INT);
    $reb->bindParam(':content', $content, PDO::PARAM_STR);
    $type_id = 1;
    $reb->bindParam(':type_id', $type_id, PDO::PARAM_INT);
    $reb->bindParam(':cdate', $time, PDO::PARAM_STR);
    $reb->bindParam(':mdate', $time, PDO::PARAM_STR);
    if ($reb->execute() > 0) {
      $pdo->commit();
      die("成功!");
    }
    $pdo->rollback();
    die("失败!");
  } catch (PDOException $ex) {
    echo($ex->getMessage());
  }
}
function add($res_arr)
{
  $dsn = 'mysql:host=localhost;dbname=db';
  $pdo = new PDO($dsn, 'root', 'root');
  $pdo->query('set names utf8');
  $value = '';
  date_default_timezone_set("Asia/Shanghai"); //时区
  $time = date('Y-m-d h:i:s');
  foreach ($res_arr as $k => $v) {
    $hash = md5($v['ProductID'] . "-" . $v['CategoryID'] . "-" . $v['CategoryName']);
    $value .= "('" . $v['ProductID'] . "','" . $v['CategoryID'] . "','" . $v['CategoryName'] . "','" . $v['ProductName'] . "','" . $v['Abbreviation'] . "','" . $v['SubscribeStatus'] . "','" . $v['ProductStatus'] . "','" .
      $v['BrandID'] . "','" . $v['BrandName'] . "','" . $v['TradeType'] . "','" . $v['ProductModel'] . "','" . $v['UPCCode'] . "','" . $v['Weight'] . "','" . $v['Summary'] . "','" .
      $v['LongDescription'] . "','" . $v['BuyNotice'] . "','" . $v['PackingList'] . "','" . $v['DefaultImage'] . "','" . $v['Keywords'] . "','" . $v['VendorID'] . "','" . $v['StoreID'] . "','" .
      $v['CurrentPrice'] . "','" . $v['AvailableQty'] . "','" . $hash . "','" . $time . "','" . $time . "'),";
  }
  $vv = substr($value, 0, strlen($value) - 1);
  try {
    $pdo->beginTransaction();
    if (!empty($vv)) {
      $reb = $pdo->prepare("REPLACE INTO `product_list` (`product_id`, `category_id`, `category_name`, `product_name`, `abbreviation`, `subscribe_status`, `product_status`, `brand_id`, `brand_name`, `trade_type`, "
        . "`product_model`, `upc_code`, `weight`, `summary`, `long_description`, `buy_notice`, `packing_list`, `default_image`, `keywords`, `vendor_id`, `store_id`, `current_price`, "
        . "`available_qty`, `hash`, `cdate`, `mdate`) VALUES $vv;");
      if ($reb->execute() > 0) {
        $pdo->commit();
        return 1;
      }
    }
  } catch (PDOException $ex) {
    $pdo->rollback();
  }
  return -1;
}

UPDATE

function update()
{
  try {
    $pdo->beginTransaction();
    $is_publish = 1;
    $req = $pdo->prepare("UPDATE `content` SET is_pub=:is_pub,mdate=:mdate WHERE id = :id;");
    $req->bindParam(':is_publish', $is_publish, PDO::PARAM_INT);
    $req->bindParam(':id', $version_id, PDO::PARAM_INT);
    $req->bindParam(':mdate', $time, PDO::PARAM_STR);
    if ($req->execute()) {
      $pdo->commit();
      die("成功!");
    }
    $pdo->rollback();
    die("失败!");
  } catch (PDOException $ex) {
    echo($ex->getMessage());
  }
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
使用无限生命期Session的方法
Oct 09 PHP
PHP通用检测函数集合
Nov 25 PHP
php下实现折线图效果的代码
Apr 28 PHP
php设计模式 Interpreter(解释器模式)
Jun 26 PHP
php+iframe实现隐藏无刷新上传文件
Feb 10 PHP
PHP中isset()和unset()函数的用法小结
Mar 11 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
Dec 15 PHP
ThinkPHP中where()使用方法详解
Apr 19 PHP
php支付宝在线支付接口开发教程
Sep 19 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 PHP
微信公众号开发之获取位置信息php代码
Jun 13 PHP
PHP封装的page分页类定义与用法完整示例
Dec 24 #PHP
tp5(thinkPHP5)框架连接数据库的方法示例
Dec 24 #PHP
php workerman定时任务的实现代码
Dec 23 #PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
Dec 21 #PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
Dec 21 #PHP
PHP支付宝当面付2.0代码
Dec 21 #PHP
php json转换相关知识(小结)
Dec 21 #PHP
You might like
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
PHP编程之高级技巧——利用Mysql函数
2006/10/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
用Javascript实现锚点(Anchor)间平滑跳转
2009/09/08 Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
javascript中使用new与不使用实例化对象的区别
2015/06/22 Javascript
H5实现中奖记录逐行滚动切换效果
2017/03/13 Javascript
Bootstrap多级菜单的实现代码
2017/05/23 Javascript
微信小程序 获取javascript 里的数据
2017/08/17 Javascript
JavaScript设计模式之单例模式原理与用法实例分析
2018/07/26 Javascript
vue操作动画的记录animate.css实例代码
2019/04/26 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
浅谈vue中resetFields()使用注意事项
2020/08/12 Javascript
vue任意关系组件通信与跨组件监听状态vue-communication
2020/10/18 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
Python的面向对象编程方式学习笔记
2016/07/12 Python
Python中list初始化方法示例
2016/09/18 Python
Python并发:多线程与多进程的详解
2019/01/24 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
2020/04/17 Python
python如何变换环境
2020/07/21 Python
影视制作岗位职责
2013/12/04 职场文书
试用期员工考核制度
2014/01/22 职场文书
2014政务公开实施方案
2014/02/19 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
2014年就业工作总结
2014/11/26 职场文书
先进事迹材料怎么写
2014/12/30 职场文书
自主招生学校推荐信范文
2015/03/26 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书
大学新生入学感想
2015/08/07 职场文书
SQL Server使用导出向导功能
2022/04/08 SQL Server
python神经网络ResNet50模型
2022/05/06 Python
python双向链表实例详解
2022/05/25 Python