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 相关文章推荐
Apache服务器无法使用的解决方法
May 08 PHP
PHP 使用MySQL管理Session的回调函数详解
Jun 21 PHP
使用PHP会话(Session)实现用户登陆功能
Jun 29 PHP
使用php清除bom示例
Mar 03 PHP
PHP实现设计模式中的抽象工厂模式详解
Oct 11 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
Mar 13 PHP
详解PHP实现异步调用的4种方法
Mar 14 PHP
yii2 数据库读写分离配置示例
Feb 10 PHP
php批量修改表结构实例
May 24 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
PHP实现数组根据某个字段进行水平合并,横向合并案例分析
Oct 08 PHP
浅谈laravel数据库查询返回的数据形式
Oct 21 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用strstr()函数阻止垃圾评论(通过判断a标记)
2013/09/28 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
php实现的http请求封装示例
2016/11/08 PHP
Laravel使用RabbitMQ的方法示例
2019/06/18 PHP
简单的php购物车代码
2020/06/05 PHP
js写一个弹出层并锁屏效果实现代码
2012/12/07 Javascript
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
jQuery制作仿Mac Lion OS滚动条效果
2015/02/10 Javascript
微信小程序  action-sheet详解及实例代码
2016/11/09 Javascript
微信小程序中使元素占满整个屏幕高度实现方法
2016/12/14 Javascript
AngularJS 霸道的过滤器小结
2017/04/26 Javascript
Grunt针对静态文件的压缩,版本控制打包的实例讲解
2017/09/29 Javascript
详解layui中的树形关于取值传值问题
2018/01/16 Javascript
详解Element 指令clickoutside源码分析
2019/02/15 Javascript
Vue 动态添加路由及生成菜单的方法示例
2019/06/20 Javascript
python基础之包的导入和__init__.py的介绍
2018/01/08 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
在python中bool函数的取值方法
2018/11/01 Python
python统计文章中单词出现次数实例
2020/02/27 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
聊聊python中的循环遍历
2020/09/07 Python
你可能不熟练的十个前端HTML5经典面试题
2018/07/03 HTML / CSS
yy结婚证婚词
2014/01/10 职场文书
2014年应届大学生毕业自我鉴定
2014/01/31 职场文书
医学专业职业生涯规划范文
2014/02/05 职场文书
高中生班主任评语
2014/04/25 职场文书
“九一八事变纪念日”国旗下讲话稿
2014/09/14 职场文书
导游词怎么写
2015/02/04 职场文书
车队安全员岗位职责
2015/02/15 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书
加强党性修养心得体会
2016/01/21 职场文书
如何在centos上使用yum安装rabbitmq-server
2021/03/31 Servers
原生Js 实现的简单无缝滚动轮播图的示例代码
2021/05/10 Javascript
详解MySQL的Seconds_Behind_Master
2021/05/18 MySQL