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动态生成JavaScript代码
Mar 09 PHP
简单PHP上传图片、删除图片实现代码
May 12 PHP
php学习之流程控制实现代码
Jun 09 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
Jan 27 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
May 05 PHP
PHP生成等比缩略图类和自定义函数分享
Jun 25 PHP
php中使用sftp教程
Mar 30 PHP
谈谈PHP连接Access数据库的注意事项
Aug 12 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
PHP设置Cookie的HTTPONLY属性方法
Feb 09 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
May 11 PHP
Yii框架实现记录日志到自定义文件的方法
May 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
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
2011/09/11 PHP
php unset全局变量运用问题的深入解析
2013/06/17 PHP
thinkphp3.x中cookie方法的用法分析
2016/05/19 PHP
PHP+ajax实现二级联动菜单功能示例
2018/08/10 PHP
用Div仿showModalDialog模式菜单的效果的代码
2007/03/05 Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
2011/10/19 Javascript
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
javascript中为某个元素指定事件的三种方式
2014/08/07 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
2014/10/28 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
2015/02/18 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
2017/02/13 Javascript
js实现简单的手风琴效果
2017/02/27 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
jQuery位置选择器用法实例分析
2019/06/28 jQuery
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
使用python实现扫描端口示例
2014/03/29 Python
Python爬虫辅助利器PyQuery模块的安装使用攻略
2016/04/24 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
教你用Python创建微信聊天机器人
2020/03/31 Python
Python检测网络延迟的代码
2018/05/15 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
学python安装的软件总结
2019/10/12 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
python numpy生成等差数列、等比数列的实例
2020/02/25 Python
python 利用zmail库发送邮件
2020/09/11 Python
Django后端按照日期查询的方法教程
2021/02/28 Python
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
荷兰家电销售网站:Welhof
2020/12/08 全球购物
售后服务承诺书范文
2014/03/26 职场文书
通信工程专业求职信
2014/06/04 职场文书
初中班级口号
2014/06/09 职场文书
深入解析NumPy中的Broadcasting广播机制
2021/05/30 Python