一个常用php mysql数据库连接类

这是一很基础的东西我们能过构造函数来实现创建类就自动与mysql服务器进行连接,我们只要设置好 $name,$pass,$table三个变量的值就好了,代码如下:

  1. <?php
  2. class ConnectionMySQL{
  3. //主机
  4. private $host="localhost";
  5. //数据库的username
  6. private $name="root";
  7. //数据库的password
  8. private $pass="";
  9. //数据库名称
  10. private $table="phptest";
  11. //编码形式
  12. private $ut="utf-8";
  13. //构造函数
  14. function __construct(){
  15. $this->ut=$ut;
  16. $this->connect();
  17. }
  18. //数据库的链接
  19. function connect(){
  20. $link=mysql_connect($this->host,$this->name,$this->pass) or die ($this->error());
  21. mysql_select_db($this->table,$link) or die("没该数据库:".$this->table);
  22. mysql_query("SET NAMES '$this->ut'");
  23. }
  24. function query($sql, $type = '') {
  25. if(!($query = mysql_query($sql))) $this->show('Say:', $sql);
  26. return $query;
  27. }
  28. function show($message = '', $sql = '') {
  29. if(!$sql) echo $message;
  30. else echo $message.'<br>'.$sql;
  31. }
  32. function affected_rows() {
  33. return mysql_affected_rows();
  34. }
  35. function result($query, $row) {
  36. return mysql_result($query, $row);
  37. }
  38. function num_rows($query) {
  39. return @mysql_num_rows($query);
  40. }
  41. function num_fields($query) {
  42. return mysql_num_fields($query);
  43. }
  44. function free_result($query) {
  45. return mysql_free_result($query);
  46. }
  47. function insert_id() {
  48. return mysql_insert_id();
  49. }
  50. function fetch_row($query) {
  51. return mysql_fetch_row($query);
  52. }
  53. function version() {
  54. return mysql_get_server_info();
  55. }
  56. function close() {
  57. return mysql_close();
  58. }
  59. //向$table表中插入值
  60. function fn_insert($table,$name,$value){
  61. $this->query("insert into $table ($name) value ($value)");
  62. }
  63. //根据$id值删除表$table中的一条记录
  64. function fn_delete($table,$id,$value){
  65. $this->query("delete from $table where $);
  66. echo "id为". $id." 的记录被成功删除!";
  67. }//开源代码phpfensi.com
  68. }
  69. //调用方法
  70. $db = new ConnectionMySQL();
  71. $db->fn_insert('test','id,name,sex',"'','hongtenzone','M'");
  72. $db->fn_delete('test', 'id', 1);
  73. ?>

这里我要讲述一下关于构造函数,代码如下:

  1. //构造函数
  2. function __construct(){
  3. $this->ut=$ut;
  4. $this->connect();
  5. }

这个页面使用了构造函数特别要主要在函数中不要调用数据库连接类了,否则在当前页面会有多连接连接如果访问过大服务器就会出mysql has gone的提法.