简单的MySQLDB类,简单MySQLDB类


【后端开发】简单的MySQLDB类,简单MySQLDB类_PHP教程 1 php 2 header('Content-Type:text/html; charset=utf-8' ); 3 error_reporting( E_ALL ^ E_DEPRECATED); 4 // 数据库操作类 5 class MySQLDB{ 6 7 // 属性--必要的信息 8 private $_host; // 主机 9 private $_port; // 端口 10 private $_user; // 用户名 11 private $_pass; // 密码 12 private $_charset; // 字符集 13 private $_dbname; // 默认数据库 14 15 //属性--运行时生成 16 public $_link; // mysql link 资源 17 18 private static $_instance ; 19 public static function getInstance( $params= array ()){ 20 if(!self:: $_instance instanceof self){ 21 self:: $_instance = new self( $params ); 22 } 23 return self:: $_instance ; 24 } 25 private function __clone(){} 26 27 /* 28 * 构造方法 29 * @param $param=array() array 关联数组 需要六个属性值 30 */ 31 private function __construct( $params= array ()){ 32 // 初始化属性 33 $this->_initParams( $params ); 34 // 连接数据库服务器 35 $this-> _connect(); 36 // 设定字符集 37 $this-> _setCharset(); 38 // 选择默认数据 39 $this-> _selectDB(); 40 } 41 42 /* 43 * 初始化数据库服务器参数 44 */ 45 private function _initParams( $params ){ 46 $this->_host = isset( $params['host'])? $params['host']:'127.0.0.1'; // 本机 47 $this->_port = isset( $params['port'])? $params['port']:'3306'; // 3306 48 $this->_user = isset( $params['user'])? $params['user']:''; // 匿名用户 49 $this->_pass = isset( $params['pass'])? $params['pass']:''; // 没有密码 50 $this->_charset = isset( $params['charset'])? $params['charset']:'utf8'; // utf8 51 $this->_dbname = isset( $params['dbname'])? $params['dbname']:''; // 表示不用选择默认数据库 52 } 53 54 55 /* 56 * 连接数据库服务器 57 */ 58 private function _connect(){ 59 // 127.0.0.1:3306 60 if( $link = mysql_connect(" $this->_host: $this->_port", $this->_user, $this-> _pass)){ 61 // 成功 62 $this->_link = $link ; 63 } else { 64 // 失败,强制脚本结束,提示错误信息 65 die("-_-!,连接数据库服务器失败,请确定连接选项" ); 66 } 67 } 68 69 /* 70 * 设定指定字符集 71 */ 72 private function _setCharset(){ 73 $sql = "set names $this->_charset" ; 74 if( mysql_query( $sql, $this-> _link)){ 75 // 成功 76 } else { 77 // 执行失败给出错误信息 78 echo '-_-!SQL执行失败
' ; 79 echo '错误的SQL为:', $sql,'
' ; 80 echo '错误代码为:', mysql_errno( $this->_link),'
' ; 81 echo '错误信息为:', mysql_error( $this-> _link); 82 die ; 83 } 84 } 85 86 /* 87 * 选择默认数据库 88 * 如果没有指定,则不选择 89 */ 90 private function _selectDB(){ 91 // 判断是否需要选择默认数据库,表示不需要,防止为0 92 if( $this->_dbname !== '' ){ 93 // 不为空,才选择数据库 94 $sql = "use ` $this->_dbname`" ; 95 if( mysql_query( $sql, $this-> _link)){ 96 // 成功 97 } else { 98 // 执行失败给出错误信息 99 echo '-_-!SQL执行失败
' ; 100 echo '错误的SQL为:', $sql,'
' ; 101 echo '错误代码为:', mysql_errno( $this->_link),'
' ; 102 echo '错误信息为:', mysql_error( $this-> _link); 103 die ; 104 } 105 } 106 } 107 108 109 110 /* * 111 * 序列化时执行的方法 112 * @return array每个数组元素为一个需要被序列化的属性名 113 * 114 */ 115 public function __sleep(){ 116 return array('_host','_post','_user','_pass','_charset','_dbname' ); 117 } 118 119 /* 120 * 反序列化时被执行 121 * 重新初始化工作 122 */ 123 public function __wakeup(){ 124 // 连接数据库服务器 125 $this-> _connect(); 126 // 设定连接字符集 127 $this-> _setCharset(); 128 // 选择默认数据库 129 $this-> _selectDB(); 130 } 131 } View Code


mysql中数据类型的简单问题

就是说这个字段是整数,长度是10个字符。
 

明显错了,没有1,2,这样的数据类型 ,还有最后一项不用逗号