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 相关文章推荐
Gregarius中文日期格式问题解决办法
Apr 22 PHP
PHP5中使用DOM控制XML实现代码
May 07 PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 PHP
非常好用的两个PHP函数 serialize()和unserialize()
Feb 04 PHP
PHP遍历数组的几种方法
Mar 22 PHP
php遍历类中包含的所有元素的方法
May 12 PHP
深入浅析PHP7.0新特征(五大新特征)
Oct 29 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
Nov 05 PHP
php获取一定范围内取N个不重复的随机数
May 28 PHP
简单的自定义php模板引擎
Aug 26 PHP
zend框架实现支持sql server的操作方法
Dec 08 PHP
php获取微信基础接口凭证Access_token
Aug 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
CakePHP去除默认显示的标题及图标的方法
2008/10/22 PHP
php对包含html标签的字符串进行截取的函数分享
2014/06/19 PHP
javascript 节点遍历函数
2010/03/28 Javascript
js 获取Listbox选择的值的代码
2010/04/15 Javascript
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
Ext中下拉列表ComboBox组件store数据格式用法介绍
2013/07/15 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
JavaScript中constructor()方法的使用简介
2015/06/05 Javascript
原生javascript 学习之js变量全面了解
2016/07/14 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
Vue from-validate 表单验证的示例代码
2017/09/26 Javascript
vue中使用cropperjs的方法
2018/03/01 Javascript
Node.js使用Angular简单示例
2018/05/11 Javascript
angular多语言配置详解
2019/05/16 Javascript
JS实现简单的文字无缝上下滚动功能示例
2019/06/22 Javascript
layui点击弹框页面 表单请求的方法
2019/09/21 Javascript
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
Python网络编程中urllib2模块的用法总结
2016/07/12 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
pycharm安装和首次使用教程
2018/08/27 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
为什么从Python 3.6开始字典有序并效率更高
2019/07/15 Python
python中有关时间日期格式转换问题
2019/12/25 Python
python 中关于pycharm选择运行环境的问题
2020/10/31 Python
纯CSS3实现的阴影效果
2014/12/24 HTML / CSS
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
什么是ESB?请介绍一下ESB?
2015/05/27 面试题
党委书记岗位职责
2013/11/24 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
工作违纪的检讨书范文
2019/07/09 职场文书
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python