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伪静态写法附代码
Jun 20 PHP
php mssql 分页SQL语句优化 持续影响
Apr 26 PHP
解析PayPal支付接口的PHP开发方式
Nov 28 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
Jun 28 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
php实现Mongodb自定义方式生成自增ID的方法
Mar 23 PHP
PHP利用imagick生成组合缩略图
Feb 19 PHP
Yii 2.0中场景的使用教程
Jun 02 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
Jun 17 PHP
php提交表单时保留多个空格及换行的文本样式的方法
Jun 20 PHP
PHP生成随机数的方法总结
Mar 01 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 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面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
2013/09/28 PHP
超棒的javascript页面顶部卷动广告效果
2007/12/01 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
2015/03/05 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
学习jQuey中的return false
2015/12/18 Javascript
JS+CSS实现闪烁字体效果代码
2016/04/05 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
JavaScript探测CSS动画是否已经完成的方法
2016/08/30 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
微信小程序实践之动态控制组件的显示/隐藏功能
2018/07/18 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
2018/09/21 Javascript
angular 服务的单例模式(依赖注入模式下)详解
2018/10/22 Javascript
JavaScript之解构赋值的理解
2019/01/30 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
使用Python的内建模块collections的教程
2015/04/28 Python
详细解读Python的web.py框架下的application.py模块
2015/05/02 Python
python实现报表自动化详解
2017/11/16 Python
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
python 获取当天凌晨零点的时间戳方法
2018/05/22 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
TensorFlow设置日志级别的几种方式小结
2020/02/04 Python
Django的CVB实例详解
2020/02/10 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
Python Serial串口基本操作(收发数据)
2020/11/06 Python
关于HTML5语义标签的实践(blog页面)
2016/07/12 HTML / CSS
CAT鞋英国官网:坚固耐用的靴子和鞋
2016/10/21 全球购物
英国美发和美容产品商城:HQhair
2019/02/08 全球购物
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
乡村教师党员四风问题对照检查材料思想汇报
2014/10/08 职场文书
优秀共产党员事迹材料
2014/12/18 职场文书
《LOL》“克隆大作战”久违归来 幻灵战队皮肤上线
2022/04/03 其他游戏
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python