1. <?php
  2. class DBDA
  3. {
  4. public $host="localhost";//服务器地址
  5. public $uid="root";//用户名
  6. public $pwd="";//密码
  7.  
  8. public $conn;//连接对象
  9. //操作数据库的方法
  10. //$sql代表需要执行的SQL语句
  11. //$type代表SQL语句的类型,1代表查询,0代表增删改
  12. //$db代表要操作的数据库名称
  13. //如果是查询,返回二维数组
  14. //如果是其他语句,返回true或false
  15. function __construct($db="kaoshi")
  16. {
  17. //造连接对象
  18. $this->conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);
  19. }
  20. public function Query($sql,$type=1)
  21. {
  22. //判断是否出错
  23. !mysqli_connect_error() or die("连接失败!");
  24. //执行SQL语句
  25. $result = $this->conn->query($sql);
  26.  
  27. //判断SQL语句类型
  28. if($type==1)
  29. {
  30. //如果是查询语句,返回结果集的二维数组
  31. return $result->fetch_all();
  32. }
  33. else
  34. {
  35. //如果是其他语句,返回true或false
  36. return $result;
  37. }
  38. }
  39. //Ajax调用返回JSON
  40. public function JsonQuery($sql,$type=1,$db="kaoshi")
  41. {
  42. //定义数据源
  43. $dsn = "mysql:dbname={$db};host={$this->host}";
  44. //造pdo对象
  45. $pdo = new PDO($dsn,"{$this->uid}","{$this->pwd}");
  46. //准备执行SQL语句
  47. $st = $pdo->prepare($sql);
  48. //执行预处理SQL语句
  49. if($st->execute())
  50. {
  51. if($type==1)
  52. {
  53. $sttr = $st->fetchAll(PDO::FETCH_ASSOC);
  54. return json_encode($attr);
  55. }
  56. else
  57. {
  58. if($st)
  59. {
  60. return "OK";
  61. }
  62. else
  63. {
  64. return "NO";
  65. }
  66. }
  67. }
  68. else
  69. {
  70. echo "执行失败!";
  71. }
  72. }
  73. //Ajax调用返回字符串
  74. public function StrQuery($sql,$type=1)
  75. {
  76. //判断连接是否成功
  77. !mysqli_connect_error() or die("连接失败!");
  78. //执行SQL语句
  79. $result = $this->conn->query($sql);
  80. //判断SQL语句类型
  81. if($type==1)
  82. {
  83. $attr = $result->fetch_all();
  84. $str = "";
  85. //如果是查询语句返回字符串
  86. for($i=0;$i<count($attr);$i++)
  87. {
  88. for($j=0;$j<count($attr[$i]);$j++)
  89. {
  90. $str = $str.$attr[$i][$j];
  91. $str = $str."^";
  92. }
  93. $str = substr($str,0,strlen($str)-1);
  94. $str = $str."|";
  95. }
  96. $str = substr($str,0,strlen($str)-1);
  97. return $str;
  98. }
  99. else
  100. {
  101. //如果是其他语句,返回true或false
  102. if($result)
  103. {
  104. return "OK";
  105. }
  106. else
  107. {
  108. return "NO";
  109. }
  110. }
  111. }
  112. function PdoQuery($sql,$type=1,$db="kaoshi")
  113. {
  114. //造数据源
  115. $dns = "mysql:host={$this->host};dbname={$db}";
  116. //造pdo对象
  117. $pdo = new PDO($dns,$this->uid,$this->pwd);
  118. //准备一条SQL语句
  119. $stm = $pdo->prepare($sql);
  120. //执行预处理语句
  121. $r = $stm->execute();
  122. if($r)
  123. {
  124. if($type==1)
  125. {
  126. return $stm->fetchAll();
  127. }
  128. else
  129. {
  130. return "OK";
  131. }
  132. }
  133. else
  134. {
  135. return "NO";
  136. }
  137.  
  138. }
  139. }

  

php实用类的更多相关文章

  1. java 实用类

                                                java  实用类 1.File类为管理文件和目录提供了方法,其对象表示一个文件或者目录.它提供了若干方法对文件 ...

  2. Objective-C实用类和协议

    Objective-C实用类和协议 目录 概述 NSObject 概述 NSObject 协议<NSObject> 类NSObject 详细方法参考文档 实用操作 是否为某个类或其子类 是 ...

  3. 【学习笔记】Java实用类:枚举(Enum)

    Java API(Java Application Programming Interface)Java应用程序编程接口... 实用类:Java API提供了几个常用包: 1.java.lang:编写 ...

  4. java实用类总结

    1.什么是枚举类? 访问修饰符 Enum 枚举名称{}其应用上可以看做一个类去定义,如果枚举里有方法,定义的枚举常量要以':'结尾 2.应用枚举的好处? 枚举限制了范围,更加安全,如果要大量定义常量用 ...

  5. .NET Core C#中级篇2-5 常见实用类

    .NETCore CSharp 中级篇2-5 本节内容为常见实用类和方法的使用 String.Format string.format方法是一个字符串格式化类,它里面的一些写法是对字符串进行指定格式的 ...

  6. Bootstrap页面布局7 - Bootstrap响应式布局的实用类

    在bootstrap-responsive.css这个CSS样式表中已经为我们设定好了几个实用的类: .visible-phone: 在智能手机设备上显示这个元素,在其他设备上隐藏该元素 .visib ...

  7. BootStrap2学习日记3--响应式布局实用类

    BootStrap2中常用的响应式布局类如: visible-phone     仅在 手机平台显示 visible-tablet      仅在 平板电脑显示 visible-desktop   仅 ...

  8. 终于写好了SR4000的一个实用类了

    /*----------------------------------------------------------------------------- *   *   版权声明: *   可以 ...

  9. php加密解密实用类

    一个加解密类.如果你想在用户忘记密码时为他或她找回原来的密码,那么这个类是个好用的工具 用户注册的密码一般不会明文保存,总得加个密先.最简单的当然是在数据库sql语句中调用md5函数加密用户密码.这里 ...

随机推荐

  1. linux 自动登录脚本

    #!/usr/bin/expect set port 22 set user xiaoming set password xiaoming123 set host 111.222.22.33 set ...

  2. Apache Kafka源码分析 - PartitionStateMachine

    startup 在onControllerFailover中被调用, initializePartitionState private def initializePartitionState() { ...

  3. pdo封装类

    <?php //http://www.imavex.com/php-pdo-wrapper-class/ class db extends PDO { private $error; priva ...

  4. uploadify

    uploadify 返回值(回调函数)总结: 最近使用开发一个图片上传模块的时候使用了一个jq插件--uploadify,但是下面就是让人很苦逼的一个下午……一直调试不好,无法接收返回值.google ...

  5. sqlserver 通过convert取得指定格式的时间

    http://msdn.microsoft.com/zh-cn/library/ms187928(v=sql.105).aspx CONVERT(NVARCHAR(10),Created,112) 不 ...

  6. C中文件操作说明

    r 以只读方式打开文件,该文件必须存在. r+ 以读/写方式打开文件,该文件必须存在. rb+ 以读/写方式打开一个二进制文件,只允许读/写数据. rt+ 以读/写方式打开一个文本文件,允许读和写. ...

  7. sphinx续5-主索引增量索引和实时索引

    原文件地址:http://blog.itpub.net/29806344/viewspace-1400942/ 在数据库数据非常庞大的时候,而且实时有新的数据插入,如果我们不更新索引,新的数据就sea ...

  8. SpringMVC+MyBatis(最新)

    目前主流的Web MVC框架,除了Struts这个主力 外,还有Spring MVC,主要是由于Spring MVC配置比较简单,使用起来也十分明了,非常灵活,与Spring 集成较好,对RESTfu ...

  9. ArcGIS API for Silverlight动态标绘的实现

    原文:ArcGIS API for Silverlight动态标绘的实现 1.下载2个dll文件,分别是: ArcGISPlotSilverlightAPI.dll 和 Matrix.dll 其下载地 ...

  10. LightOj1028 - Trailing Zeroes (I)---求因子个数

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1028 题意:给你一个数 n (1<=n<=10^12), 然后我们可以把它 ...