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 保留小数点
Apr 21 PHP
JS与PHP向函数传递可变参数的区别实例代码
May 18 PHP
php中通过虚代理实现延迟加载的实现代码
Jun 10 PHP
php array_map()数组函数使用说明
Jul 12 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
Apr 10 PHP
PHP+javascript制作带提示的验证码源码分享
May 28 PHP
ThinkPHP关于session的操作方法汇总
Jul 18 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
Mar 27 PHP
php析构函数的简单使用说明
Aug 24 PHP
Yii2隐藏frontend/web和backend/web的方法
Dec 12 PHP
PHP中substr函数字符串截取用法分析
Jan 07 PHP
thinkPHP简单实现多个子查询语句的方法
Dec 05 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中的Class的几点个人看法
2006/10/09 PHP
php目录操作函数之获取目录与文件的类型
2010/12/29 PHP
PHP容易被忽略而出错陷阱 数字与字符串比较
2011/11/10 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
php强制更新图片缓存的方法
2015/02/11 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
通过Email发送PHP错误的方法
2015/07/20 PHP
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
AngularJs实现分页功能不带省略号的代码
2016/05/30 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
微信小程序 选择器(时间,日期,地区)实例详解
2016/11/16 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
微信小程序实现两个页面传值的方法分析
2018/12/11 Javascript
js中的数组对象排序分析
2018/12/11 Javascript
详解滑动穿透(锁body)终极探索
2019/04/16 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
vue+ts下对axios的封装实现
2020/02/18 Javascript
基于Python实现一个简单的银行转账操作
2016/03/06 Python
python 同时运行多个程序的实例
2019/01/07 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
python文字转语音实现过程解析
2019/11/12 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
投标文件签署授权委托书范本
2014/10/12 职场文书
销售经理工作失职检讨书
2014/10/24 职场文书
实习班主任自我评价
2015/03/11 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python