PHP基于PDO扩展操作mysql数据库示例

小编 2026-07-09 阅读:1225 评论:0
本文实例讲述了PHP基于PDO扩展操作mysql数据库。分享给大家供大家参考,具体如下: SELECT //查单条 function get_sub_product() { $res_zz...

本文实例讲述了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基于pdo操作数据库技巧总结》、《php+Oracle数据库程序设计技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
标签列表