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 相关文章推荐
利用js调用后台php进行数据处理原码
Oct 09 PHP
mysql 全文搜索 技巧
Apr 27 PHP
PHP开发的一些注意点总结
Oct 12 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
PHP+Javascript实现在线拍照功能实例
Jul 18 PHP
PHP设计模式之观察者模式实例
Feb 22 PHP
CodeIgniter 完美解决URL含有中文字符串
May 13 PHP
thinkphp3.x中display方法及show方法的用法实例
May 19 PHP
PHP制作登录异常ip检测功能的实例代码
Nov 16 PHP
Laravel 实现关系模型取出需要的字段
Oct 10 PHP
PHP使用递归按层级查找数据的方法
Nov 10 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
May 29 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高级对象构建 工厂模式的使用
2012/02/05 PHP
PHP实现今天是星期几的几种写法
2013/09/26 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
PHP中把对象数组转换成普通数组的方法
2015/07/10 PHP
PHP MVC框架skymvc支持多文件上传
2016/05/26 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
javascript 基础篇2 数据类型,语句,函数
2012/03/14 Javascript
jquery实现div阴影效果示例代码
2013/09/16 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
使用socket.io实现简单聊天室案例
2018/01/02 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
2019/07/15 Javascript
微信小程序全局变量的设置、使用、修改过程解析
2019/09/24 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
[01:41]DOTA2超级联赛专访YYF 称一辈子难忘TI2
2013/05/28 DOTA
Python Grid使用和布局详解
2018/06/30 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
Python 堆叠柱状图绘制方法
2019/07/29 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
selenium中get_cookies()和add_cookie()的用法详解
2020/01/06 Python
TensorFlow-gpu和opencv安装详细教程
2020/06/30 Python
Python识别验证码的实现示例
2020/09/30 Python
基于Python制作一副扑克牌过程详解
2020/10/19 Python
pycharm远程连接服务器并配置python interpreter的方法
2020/12/23 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
你正在寻找的CSS3 动画技术
2011/07/27 HTML / CSS
中国旅游网站:同程旅游
2016/09/11 全球购物
院药学专业个人求职信
2013/09/21 职场文书
团日活动总结
2014/04/28 职场文书
计算机网络专业求职信
2014/06/05 职场文书
大学新生军训自我鉴定范文
2014/09/13 职场文书
工作感言一句话
2015/08/01 职场文书