文件:db.config.smarty.php

这个文件主要是用于数据库配置

  1. <?php
  2. $db = array(
  3. 'host'=>'localhost',
  4. 'user'=>'root',
  5. 'password'=>'********',
  6. 'database'=>'test',
  7. )
  8. ?>

文件:db.conn.smarty.php

这个文件用于数据库操作,查询,删除,更新,添加。

要引用配置文件:require_once('db.config.smarty.php');

  1. <?php
  2. class db {
  3. public $conn;
  4. public static $sql;
  5. public static $instance=null;
  6. private function __construct(){
  7. require_once('db.config.smarty.php');
  8. $this->conn = mysql_connect($db['host'],$db['user'],$db['password']);
  9. if(!mysql_select_db($db['database'],$this->conn)){
  10. echo "失败";
  11. };
  12. mysql_query('set names utf8',$this->conn);
  13. }
  14. public static function getInstance(){
  15. if(is_null(self::$instance)){
  16. self::$instance = new db;
  17. }
  18. return self::$instance;
  19. }
  20. /**
  21. * 查询数据库
  22. */
  23. public function select($table,$condition=array(),$field = array()){
  24. $where='';
  25. if(!empty($condition)){
  26.  
  27. foreach($condition as $k=>$v){
  28. $where.=$k."='".$v."' and ";
  29. }
  30. $where='where '.$where .'1=1';
  31. }
  32. $fieldstr = '';
  33. if(!empty($field)){
  34.  
  35. foreach($field as $k=>$v){
  36. $fieldstr.= $v.',';
  37. }
  38. $fieldstr = rtrim($fieldstr,',');
  39. }else{
  40. $fieldstr = '*';
  41. }
  42. self::$sql = "select {$fieldstr} from {$table} {$where}";
  43. $result=mysql_query(self::$sql,$this->conn);
  44. $resuleRow = array();
  45. $i = 0;
  46. while($row=mysql_fetch_assoc($result)){
  47. foreach($row as $k=>$v){
  48. $resuleRow[$i][$k] = $v;
  49. }
  50. $i++;
  51. }
  52. return $resuleRow;
  53. }
  54. /**
  55. * 添加一条记录
  56. */
  57. public function insert($table,$data){
  58. $values = '';
  59. $datas = '';
  60. foreach($data as $k=>$v){
  61. $values.=$k.',';
  62. $datas.="'$v'".',';
  63. }
  64. $values = rtrim($values,',');
  65. $datas = rtrim($datas,',');
  66. self::$sql = "INSERT INTO {$table} ({$values}) VALUES ({$datas})";
  67. if(mysql_query(self::$sql)){
  68. return mysql_insert_id();
  69. }else{
  70. return false;
  71. };
  72. }
  73. /**
  74. * 修改一记录
  75. */
  76. public function update($table,$data,$condition=array()){
  77. $where='';
  78. if(!empty($condition)){
  79.  
  80. foreach($condition as $k=>$v){
  81. $where.=$k."='".$v."' and ";
  82. }
  83. $where='where '.$where .'1=1';
  84. }
  85. $updatastr = '';
  86. if(!empty($data)){
  87. foreach($data as $k=>$v){
  88. $updatastr.= $k."='".$v."',";
  89. }
  90. $updatastr = 'set '.rtrim($updatastr,',');
  91. }
  92. self::$sql = "update {$table} {$updatastr} {$where}";
  93. return mysql_query(self::$sql);
  94. }
  95. /**
  96. * 删除记录
  97. */
  98. public function delete($table,$condition){
  99. $where='';
  100. if(!empty($condition)){
  101.  
  102. foreach($condition as $k=>$v){
  103. $where.=$k."='".$v."' and ";
  104. }
  105. $where='where '.$where .'1=1';
  106. }
  107. self::$sql = "delete from {$table} {$where}";
  108. return mysql_query(self::$sql);
  109.  
  110. }
  111.  
  112. public static function getLastSql(){
  113. echo self::$sql;
  114. }
  115. }
  116. ?>

其他文件要操作数据的时候只要引用 require_once 'db.conn.smarty.php';就可以了。

  1. //require_once 'db.conn.smarty.php';
    0 //$db = db::getInstance();
    1 //$arr = array(9 => 'Tennis', 3 => 'Swimming', 8 => 'Coding');
  2. //$arr = $db->select('demo',array('password'=>'yujianqi2011'),array('username','age'));
  3. //echo $db->insert('demo',array('name'=>'最近你啦','password'=>'123'));
  4. //echo $db->update('demo',array("name"=>'xxx',"password"=>'123'),array('id'=>1));
  5. 5 //echo $db->delete('demo',array('id'=>'2'));
  6. //db::getLastSql();
  7. //echo $list;

数据库操作相关(sql语句-php)的更多相关文章

  1. django 快速数据库操作,不用SQL语句

    配置models文件 # -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import mod ...

  2. Delphi XE8中开发DataSnap程序常见问题和解决方法 (二)想对DBExpress的TSQLDataSet写对数据库操作的SQL语句出错了!

    当我们搞定DataSnap后,我们进入客户端程序开发阶段了,我们建立了客户端模块后,打算按照刚才开发服务器的步骤开发客户端程序,随后加入了DBExpress的TSQLDataSet,设定数据库连接后, ...

  3. 通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷

    原文:通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷 通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷.效果如下: 步骤1:通过MyEcl ...

  4. 通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷

    通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷.效果如下:     步骤1:通过MyEclipse中的window->show View->ot ...

  5. 优化、分析Mysql表读写、索引等操作的sql语句效率优化问题

    为什么要优化: 随着实际项目的启动,数据库经过一段时间的运行,最初的数据库设置,会与实际数据库运行性能会有一些差异,这时我们 就需要做一个优化调整. 数据库优化这个课题较大,可分为四大类: >主 ...

  6. Mybatis高级:Mybatis注解开发单表操作,Mybatis注解开发多表操作,构建sql语句,综合案例学生管理系统使用接口注解方式优化

    知识点梳理 课堂讲义 一.Mybatis注解开发单表操作 *** 1.1 MyBatis的常用注解 之前我们在Mapper映射文件中编写的sql语句已经各种配置,其实是比较麻烦的 而这几年来注解开发越 ...

  7. 【转载】 Sqlserver查看数据库死锁的SQL语句

    在Sqlsever数据库中,有时候操作数据库过程中会进行锁表操作,在锁表操作的过程中,有时候会出现死锁的情况出现,这时候可以使用SQL语句来查询数据库死锁情况,主要通过系统数据库Master数据库来查 ...

  8. 在一个千万级的数据库查寻中,如何提高查询效率?分别说出在数据库设计、SQL语句、java等层面的解决方案。

    在一个千万级的数据库查寻中,如何提高查询效率?分别说出在数据库设计.SQL语句.java等层面的解决方案. 解答: 1)数据库设计方面: a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 whe ...

  9. Oracle数据库常用的Sql语句整理

    Oracle数据库常用的Sql语句整理 查看当前用户的缺省表空间 : select username,default_tablespace from user_users; 2.查看用户下所有的表 : ...

  10. Oracle中查询和定位数据库问题的SQL语句

    --1)查询和定位数据库问题的SQL语句--Oracle常用性能监控SQL语句.sql --1查询锁表信息 select vp.SPID, vs.P1, vs.P1RAW, vs.P2, vs.EVE ...

随机推荐

  1. VMware Workstation “The Msi Failed”解决方法

    今天准备装虚拟机时,遇到一个问题一直没办法解决.折腾了一下午,总算解决了.在这里记录以下,以便大家遇到相同的问题时,能尽快解决. 由于以前安装过WMware Workstation,然后又卸载了.今天 ...

  2. flashfxp v3.7 注册码

    -------- FlashFXP Registration Data START --------FLASHFXPvwBW1S4QvwAAAAC5W5MNJwXnsl73i3CxcVAAvAyagF ...

  3. scanf_s,scanf安全版本

    %s,%c必须加sizeof(it)

  4. 小白扫盲:Android 设备的CPU类型(通常称为”ABIs”)

    早期的Android系统几乎只支持ARMv5的CPU架构,但是现在不同了,你知道现在它支持多少种吗?7种! Android系统目前支持以下七种不同的CPU架构:ARMv5,ARMv7 (从2010年起 ...

  5. 假设数组a有n个元素,元素取值范围是1~n,如何判定数组是否存在重复元素

    方法一:位图法,原理是首先申请一个长度为n且均为’0’组成的字符串,字符串的下标即为数组a[]中的元素,然后从头开始遍历数组a[N],取每个数组元素的值,将其对应的字符串中的对应位置置1,如果已经置过 ...

  6. ios开发之--通过通知监听textfield的输入状态,判断按钮的状态

    第一步: _rightBtn = [UIButton buttonWithType:UIButtonTypeCustom]; _rightBtn.frame = CGRectMake(kWidth - ...

  7. 【代码审计】JTBC(CMS)_PHP_v3.0 任意文件删除漏洞分析

      0x00 环境准备 JTBC(CMS)官网:http://www.jtbc.cn 网站源码版本:JTBC_CMS_PHP(3.0) 企业版 程序源码下载:http://download.jtbc. ...

  8. Java的Integer和int有什么区别

    Java是面向对象的编程语言,一切都是对象,但是为了编程的方便还是引入了基本数据类型,为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper cla ...

  9. 剑指offer面试题6:重建二叉树

    1.题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树. public class Solution { public TreeNode reConstructBinaryTree(int ...

  10. Servlet基本用法(一)基本配置

    一.前言 Java Servlet是一个基于Java技术的Web组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容.Servlet是平台独立的Java类,编写一个Servlet实际上 ...