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. Leetcode系列-Search in Rotated Sorted Array

    做Leetcode题有一段时间了,但都是断断续续的,到现在才做了30题左右,感觉对自己来说还是有点难度的.希望自己能继续坚持下去,在校招前能解决超过一百题吧. 其实这些题就是用来训练你的解题思路的,做 ...

  2. GoJS研究,简单图表制作。

    话不多说,先上图 我在这个中加入了缩略图.鼠标放大缩小等功能. <!doctype html> <html> <head> <title>Flowcha ...

  3. 安装指南【win10下安装fedora】

    系统安装 安装准备 系统:fedora .Win 10 硬件:U盘一枚.PC一台 软件:UltraISO 安装步骤 使用UltraISO将镜像写入U盘 window10使用磁盘管理,空出一个未分配的区 ...

  4. TensorFlow和最近发布的slim

    笔者将和大家分享一个结合了TensorFlow和最近发布的slim库的小应用,来实现图像分类.图像标注以及图像分割的任务,围绕着slim展开,包括其理论知识和应用场景. 之前自己尝试过许多其它的库,比 ...

  5. jq实现瀑布流效果

    <!doctype html><html><head><meta http-equiv="Content-Type" content=&q ...

  6. python将图片转为base64编码

    import base64 f = open("m1.jpg", "rb") res = f.read() s = base64.b64encode(res) ...

  7. javascript学习代码--点击按钮显示内容

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. The type java.lang.String cannot be resolved. It is indirectly referenced from required .class files

    最近在做J2ME开发项目,配置环境一切OK,但是打开项目时某些文件提示: The type java.lang.String cannot be resolved. It is indirectly ...

  9. Sed&awk笔记之sed篇

    http://blog.csdn.net/a81895898/article/details/8482387 Sed是什么 <sed and awk>一书中(1.2 A Stream Ed ...

  10. OS X Lion版 如果我忘记了我的账户密码 我该怎么办?

    来到了 mac os x lion 10.7 上. 忘记密码的朋友不会减少. 除了努力回忆和询问自己的老婆外还有其他办发不? 那是自然有的. 帐户密码很重要虽然有时候我们设置了帐户自动登陆但是如果您需 ...