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 相关文章推荐
PHP 日期时间函数的高级应用技巧
Oct 10 PHP
用PHP读取超大文件的实例代码
Apr 01 PHP
php排序算法(冒泡排序,快速排序)
Oct 09 PHP
PHP中设置时区,记录日志文件的实现代码
Jan 07 PHP
PHP中图片等比缩放的实例
Mar 24 PHP
作为PHP程序员应该了解MongoDB的五件事
Jun 03 PHP
php根据年月获取季度的方法
Mar 31 PHP
微信营销平台系统?刮刮乐的开发
Jun 10 PHP
php常用hash加密函数
Nov 22 PHP
php session的应用详细介绍
Mar 22 PHP
php 数据结构之链表队列
Oct 17 PHP
PHP+mysql实现的三级联动菜单功能示例
Feb 15 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
PHP图片自动裁切应付不同尺寸的显示
2014/10/16 PHP
php中filter_input函数用法分析
2014/11/15 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
PHP中命名空间的使用例子
2019/03/22 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
JS实现控制表格行内容垂直对齐的方法
2015/03/30 Javascript
js获取微信版本号的方法
2015/05/12 Javascript
JavaScript的jQuery库插件的简要开发指南
2015/08/12 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
2018/04/23 jQuery
vue-router传递参数的几种方式实例详解
2018/11/13 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
Nuxt使用Vuex的方法示例
2019/09/06 Javascript
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[49:21]TNC vs VG 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第三场 8.20.mp4
2019/08/22 DOTA
python之wxPython应用实例
2014/09/28 Python
由浅入深讲解python中的yield与generator
2017/04/05 Python
用Python3创建httpServer的简单方法
2018/06/04 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
电气技术员岗位职责
2013/11/19 职场文书
爱心活动计划书
2014/04/26 职场文书
体育口号大全
2014/06/18 职场文书
上海世博会口号
2014/06/19 职场文书
公司合并协议书范本
2014/09/30 职场文书
业务员岗位职责
2015/02/03 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
检讨书格式
2015/05/07 职场文书
求职自荐信该如何书写?
2019/06/24 职场文书
正确使用MySQL update语句
2021/05/26 MySQL
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers