PHP程序中使用PDO对象实现对数据库的增删改查操作(PHP+smarty)

PHP程序中使用PDO对象实现对数据库的增删改查操作(PHP+smarty)

dbconn.php

复制代码
<?php
//------------------------使用PDO方式连接数据库文件-----------------------------------//
$dsn="mysql:host=localhost;dbname=xsphp";
$username="root";
$passwd="";

try{
    $options = array(PDO::MYSQL_ATTR_INIT_COMMAND=>"SET NAMES UTF8");
    $pdo= new PDO($dsn, $username, $passwd, $options);
}catch(Exception $e){
   echo $e->getMessage();
} 
复制代码

demo.php

这是demo.php文件要包含的文件(数据库连接和其他一些初始化信息)

include "init.inc.php";
include "dbconn.php";

复制代码
//pdo对象实现增加一条记录
    $sql1="insert into xs_user(username,passwd,sex,addtime)values(?,?,?,?)"; //1、写sql语句
    $stmt=$pdo->prepare($sql1);                                              //预处理
    
    $stmt->bindParam(1,$username);                                           //2.绑定参数
    $stmt->bindParam(2,$passwd);
    $stmt->bindParam(3,$sex);
    $stmt->bindParam(4, $addtime);
    
    $username ="红苹果";                                                       //3.准备要插入的数据
    $passwd = md5("123");
    $sex ="女";
    date_default_timezone_set('PRC');      //设置时区PRC东八区
    $addtime= date('Y:m:d H:i:s',time());  //time()获取时间戳
    $flag = $stmt->execute();              //返回值是sql语句是否正确,只要sql语句正确,那么返回值都是true。
    
复制代码

复制代码
//PDO对象实现删除一条记录
    $sql3 = "delete from xs_user where `username`= ?";
    $stmt = $pdo->prepare($sql3);
    $flag3 = $stmt->execute(array("bright001"));   //把where条件的参数放到一个数组array中
    echo $sql3;
   if($flag3){
     $data = $stmt->fetch();
     $smarty->assign("flag","ok");
   }else{
     $smarty->assign("flag","fail");
   }
复制代码

复制代码
    //PDO对象实现更改一条记录
    
    $sql4= "update xs_user set `passwd`=md5('123') where `username`=? and `sex`=?";
    echo $sql4;
    $stmt = $pdo->prepare($sql4);
    $username = "bright0010";
    $sex = "女";                        //一种是直接写在execute的参数array()带进去,一种是通过绑定参数法
    $stmt->bindParam(1, $username);
    $stmt->bindParam(2, $sex);
    $flag4 = $stmt->execute();          //execute()函数带一个数组,array('bright006','男')当查询的条件多个时,直接按序写在array数组里面即可

    $res = $stmt->rowCount();

    if($res>0){                       
      
         $data = $stmt->fetch();
         $smarty->assign("flag","ok");
         
    }else{
         $smarty->assign("flag","fail");
    }
   
复制代码

复制代码
    //PDO对象实现查询记录
    $sql5="select * from xs_user where `sex`=?";      
    $stmt=$pdo->prepare($sql5);
    $sex="女";
    $stmt->bindParam(1,$sex);
    $stmt->execute();
    $data = $stmt->fetchAll(PDO::FETCH_ASSOC);      //关联数组的形式
    $smarty->assign("data",$data);
   
复制代码

最后显示到smarty模板即可

$smarty -> display("test.tpl");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值