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 相关文章推荐
用IE远程创建Mysql数据库的简易程序
Oct 09 PHP
用PHP将数据导入到Foxmail
Oct 09 PHP
解析linux下安装memcacheq(mcq)全过程笔记
Jun 27 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
Nov 14 PHP
使用php显示搜索引擎来的关键词
Feb 13 PHP
如何写php守护进程(Daemon)
Dec 30 PHP
php使用ffmpeg获取视频信息并截图的实现方法
May 03 PHP
PHP+JS实现的商品秒杀倒计时用法示例
Nov 15 PHP
Mac系统完美安装PHP7详细教程
Jun 06 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
Apr 20 PHP
PHP时间函数使用详解
Mar 21 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
Mar 23 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
新的一年,新的期待:DC在2020年的四部动画电影
2020/01/01 欧美动漫
php解析html类库simple_html_dom(详细介绍)
2013/07/05 PHP
基于PHP的简单采集数据入库程序
2014/07/30 PHP
php中filter_input函数用法分析
2014/11/15 PHP
PHP实现抓取迅雷VIP账号的方法
2015/07/30 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
基于jQuery的合并表格中相同文本的相邻单元格的代码
2011/04/06 Javascript
JS两种定义方式的区别、内部原理
2013/11/21 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
jQuery unbind()方法实例详解
2016/01/19 Javascript
浅析JavaScript中命名空间namespace模式
2016/06/22 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
2016/09/06 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
详解webpack介绍&安装&常用命令
2017/06/29 Javascript
一个简单的node.js界面实现方法
2018/06/01 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
2018/08/22 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
2020/04/16 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
Python文件和流(实例讲解)
2017/09/12 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
利用Python如何生成便签图片详解
2018/07/09 Python
基于django传递数据到后端的例子
2019/08/16 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
python自动提取文本中的时间(包含中文日期)
2020/08/31 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
施华洛世奇巴西官网:SWAROVSKI巴西
2019/12/03 全球购物
荷兰家电销售网站:Welhof
2020/12/08 全球购物
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
开学典礼演讲稿
2014/05/23 职场文书
关于读书的演讲稿600字
2014/08/27 职场文书
购房个人委托书范本
2014/10/11 职场文书
90条交通安全宣传标语
2019/10/12 职场文书