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");

PHP程序中使用PDO对象实现对数据库的增删改查操作的示例代码的更多相关文章

  1. Django中ORM对数据库的增删改查操作

         前言 什么是ORM?  ORM(对象关系映射)指用面向对象的方法处理数据库中的创建表以及数据的增删改查等操作. 简而言之,就是将数据库的一张表当作一个类,数据库中的每一条记录当作一个对象.在 ...

  2. IDEA中通过工具类实现对数据库的增删改查

    package com.hu.dao; import com.hu.entity.Student; import java.util.List;import java.util.Map; public ...

  3. 48.Python中ORM模型实现mysql数据库基本的增删改查操作

    首先需要配置settings.py文件中的DATABASES与数据库的连接信息, DATABASES = { 'default': { 'ENGINE': 'django.db.backends.my ...

  4. [译]聊聊C#中的泛型的使用(新手勿入) Seaching TreeVIew WPF 可编辑树Ztree的使用(包括对后台数据库的增删改查) 字段和属性的区别 C# 遍历Dictionary并修改其中的Value 学习笔记——异步 程序员常说的「哈希表」是个什么鬼?

    [译]聊聊C#中的泛型的使用(新手勿入)   写在前面 今天忙里偷闲在浏览外文的时候看到一篇讲C#中泛型的使用的文章,因此加上本人的理解以及四级没过的英语水平斗胆给大伙进行了翻译,当然在翻译的过程中发 ...

  5. Android中Sqlite数据库进行增删改查

    今天这篇文章写Sqlite数据库,通过一个小案例来完整讲一下数据库常见的CRUD操作. 先对知识点总结: SQLite数据库 轻量级关系型数据库 创建数据库需要使用的api:SQLiteOpenHel ...

  6. java程序设计课期中考试——数据库的增删改查和简单的js界面

    首先是设计思路,对于数据库的增删改查,我们借助Ecilipse来进行前端和后端的编写.Ecilipse是可以进行java web项目的操作的. 前端,我们选择用使用jsp,所谓的jsp就是可以嵌入其他 ...

  7. AngularJS中使用$http对MongoLab数据表进行增删改查

    本篇体验使用AngularJS中的$http对MongoLab数据表进行增删改查. 主页面: <button ng-click="loadCourse()">Load ...

  8. IOS9中联系人对象的使用及增删改查操作的函数封装

    之前克服重重困难把IOS9中新的类联系人搞明白了,现在把增删改查封装成了函数,如下: // // ViewController.m // IOS9中联系人CNContact的使用 // // Crea ...

  9. C#通过窗体应用程序操作数据库(增删改查)

    为了体现面向对象的思想,我们把“增删改查”这些函数封装到一个数据库操作类里: 为了便于窗体程序与数据库之间进行数据交互,我们建一个具有数据库行数据的类,通过它方便的在窗体程序与数据库之间传输数据: 我 ...

随机推荐

  1. MVVM模式应用 之介绍

    M-V-VM (1)M:即Model,由现实世界抽象出来的模型: V:即View,视图,界面,该界面与用户输入设备进行交互: 但是View与Model如何进行交互呢? Binding便可以发挥作用了, ...

  2. 解决GDB输出Qt内置类型的显示问题

    自从GDB 7.0之后,就加入了Pretty-Printer的这个概念.简单理解就是他可以让你用Python写一串脚本,然后让gdb去读取这串脚本后,可以自由的输出由你想自己定义的格式.我们直接举个简 ...

  3. 【实习记】2014-08-22试用SSH客户端XShell与SecuretyCRT与MobaXterm总结

        虚拟机下来了,是32位8G内存双核的win7系统. 测试显示实习生可以用办公机登录虚拟机在ssh到linux编译机.办公机虽ping通但不可以ssh上去. 只说这么多. 用惯linux下的sh ...

  4. windows 安装maven 环境

    1.maven 下载地址: http://maven.apache.org/index.html 2.解压到目录并配置环境变量 M2_HOME   D:\maven\maven path       ...

  5. Debian6安装XP系统

    1.下载一键包,必须要在 root目录 下执行,可以先用 pwd 命令查看当前所在目录.执行命令:wget http://d.yxlgh.com/vps/zmdebian6xp.sh 2.执行 zmd ...

  6. HTML5储存

    1.sessionStorage 特点:关闭浏览器(或标签页)后数据就不存在了.但刷新页面或使用“前进”.“后退按钮”后sessionStorage仍然存在: sessionStorage每个窗口的值 ...

  7. PHPCMS标签:get标签

    GET标签源自于PHPCMS 2008版,其使用SQL语句直接获取数据的特性,成为大家制作模板的首选. 在V9中这样强大的工具也得到保留下来. GET标签使用方式如下: {pc:get sql=&qu ...

  8. Django 基础

    Django 的路由系统 在 django 的 URLconf 配置文件 urls.py 中根据一个 URL 对应 views 的一个函数来处理用户的请求. 1.基本的 urls 对应 urlpatt ...

  9. Model Thinking1

    Why Model Reason # 1: Intelligent Citizen of the World Reason # 2: Clearer Thinker Reason # 3: Under ...

  10. build tree

    有二叉树的前序遍历和后序遍历,构造二叉树 /** * Definition for binary tree * public class TreeNode { * int val; * TreeNod ...