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开发文件系统实例讲解
Oct 09 PHP
php 获取当前访问的url文件名的方法小结
Feb 08 PHP
php去掉URL网址中带有PHPSESSID的配置方法
Jul 08 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
Jul 08 PHP
两种php给图片加水印的实现代码
Apr 18 PHP
PHP中Restful api 错误提示返回值实现思路
Apr 12 PHP
PHP实现的文件上传类与用法详解
Jul 05 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
PHP实现的AES加密、解密封装类与用法示例
Aug 02 PHP
Laravel框架实现简单的学生信息管理平台案例
May 07 PHP
PDO实现学生管理系统
Mar 21 PHP
基于PHP实现堆排序原理及实例详解
Jun 19 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批量删除数据
2007/01/18 PHP
php chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
PHP利用APC模块实现文件上传进度条的方法
2015/01/26 PHP
PHP从FLV文件获取视频预览图的方法
2015/03/12 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
用于table内容排序
2006/07/21 Javascript
javascript简易缓动插件(源码打包)
2012/02/16 Javascript
jQuery Tools tab(幻灯片)
2012/07/14 Javascript
jQuery中校验时间格式的正则表达式小结
2013/09/22 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
2015/03/09 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
vue3实现v-model原理详解
2019/10/09 Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
2020/09/04 Javascript
基于原生JS封装的Modal对话框插件的示例代码
2020/09/09 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
[02:56]DOTA2亚洲邀请赛 VG出场战队巡礼
2015/02/07 DOTA
用Python编写一个国际象棋AI程序
2014/11/28 Python
python 远程统计文件代码分享
2015/05/14 Python
python中的句柄操作的方法示例
2019/06/20 Python
Python使用os.listdir和os.walk获取文件路径
2020/05/21 Python
tensorflow从ckpt和从.pb文件读取变量的值方式
2020/05/26 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
印度化妆品购物网站:Nykaa
2018/07/22 全球购物
贝尔帐篷精品店:Bell Tent Boutique
2019/06/12 全球购物
人力资源管理专业应届生求职信
2013/09/28 职场文书
11月升旗仪式讲话稿
2014/02/15 职场文书
《夸父追日》教学反思
2014/02/26 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
2014公司年终工作总结
2014/12/19 职场文书
2015年感恩父亲节演讲稿
2015/03/19 职场文书
科技活动总结范文
2015/05/11 职场文书
Html5获取用户当前位置的几种方式
2022/01/18 HTML / CSS