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 相关文章推荐
关于使用coreseek并为其做分页的介绍
Jun 21 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
Jul 01 PHP
php三维数组去重(示例代码)
Nov 26 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
Jul 08 PHP
php使用date和strtotime函数输出指定日期的方法
Nov 14 PHP
php支付宝接口用法分析
Jan 04 PHP
php绘制圆形的方法
Jan 24 PHP
php实现遍历文件夹的方法汇总
Mar 02 PHP
PHP检测数据类型的几种方法(总结)
Mar 04 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
Mar 04 PHP
PHP生成随机数的方法总结
Mar 01 PHP
laravel 实现根据字段不同值做不同查询
Oct 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
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
深入理解require与require_once与include以及include_once的区别
2013/06/05 PHP
跟我学Laravel之请求与输入
2014/10/15 PHP
php实现简单文件下载的方法
2015/01/30 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
javascript实现树形菜单的方法
2015/07/17 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
javascript日期验证之输入日期大于等于当前日期
2015/12/13 Javascript
JavaScript继承学习笔记【新手必看】
2016/05/10 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
Angular @HostBinding()和@HostListener()用法
2018/03/05 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
详解小程序如何避免多次点击,重复触发事件
2019/04/08 Javascript
javascript实现简易的计算器
2020/01/17 Javascript
微信小程序使用GoEasy实现websocket实时通讯
2020/05/19 Javascript
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
[02:30]联想杯DOTA2完美世界全国高校联赛—北京站现场
2015/11/16 DOTA
Python 正则表达式入门(中级篇)
2016/12/07 Python
python3 破解 geetest(极验)的滑块验证码功能
2018/02/24 Python
python实现简单登陆流程的方法
2018/04/22 Python
python中for用来遍历range函数的方法
2018/06/08 Python
python统计中文字符数量的两种方法
2019/01/31 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
2019/11/25 Python
完美解决keras 读取多个hdf5文件进行训练的问题
2020/07/01 Python
Python常用数据分析模块原理解析
2020/07/20 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
如何做好总经理助理
2013/11/12 职场文书
不假外出检讨书
2014/01/27 职场文书
财务总监管理职责范文
2014/03/09 职场文书
年会搞笑主持词
2014/03/27 职场文书
单位消防安全责任书
2014/07/23 职场文书
小学思品教学反思
2016/02/20 职场文书
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫