MYSQL常用操作函数的封装
1.mysql常用函数封装文件:mysql.func.php
<?php /** * 连接MYSQL函数 * @param string $host * @param string $username * @param string $password * @param string $dbName * @param string $charset * @return resource */ function connect($host,$username,$password,$dbName,$charset){ //连接mysql $link=@mysql_connect($host,$username,$password) or die ('数据库连接失败<br/>ERROR '.mysql_errno().':'.mysql_error()); //设置字符集 mysql_set_charset($charset); //打开指定的数据库 mysql_select_db($dbName)or die('指定的数据库打开失败'); return $link; } /** * 连接MYSQL函数,需要在连接的时候传递一个数组 * @param array $config * @return resource */ function connect1 ($config){ //连接mysql $link=@mysql_connect($config['host'],$config['username'],$config['password']) or die ('数据库连接失败<br/>ERROR '.mysql_errno().':'.mysql_error()); //设置字符集 mysql_set_charset($config['charset']); //打开指定的数据库 mysql_select_db($config['dbName']) or die('指定的数据库打开失败'); return $link; } /**建议使用该函数 * 连接MYSQL函数,通过常量的形式来连接数据库 * 自定义配置文件,配置文件中自定义常量,包含需要使用的信息 * @return resource */ function connect2 (){ //连接mysql $link=@mysql_connect(DB_HOST,DB_USER,DB_PWD) or die ('数据库连接失败<br/>ERROR '.mysql_errno().':'.mysql_error()); //设置字符集 mysql_set_charset(DB_CHARSET); //打开指定的数据库 mysql_select_db(DB_DBNAME) or die('指定的数据库打开失败'); return $link; } /* array( 'username'=>'king', 'password'=>'123123', 'email'=>'dh@qq.com' ) */ /** * 插入记录的操作 * @param array $array * @param string $table * @return boolean */ function insert($array,$table){ $keys=join(',',array_keys($array)); $values="'".join("','", array_values($array))."'"; $sql="insert {$table}({$keys}) VALUES ({$values})"; $res=mysql_query($sql); if($res){ return mysql_insert_id(); }else{ return false; } } /** * MYSQL更新操作 * @param array $array * @param string $table * @param string $where * @return number|boolean */ function update($array,$table,$where=null){ foreach ($array as $key=>$val){ $sets.=$key."='".$val."',"; } $sets=rtrim($sets,','); //去掉SQL里的最后一个逗号 $where=$where==null?'':' WHERE '.$where; $sql="UPDATE {$table} SET {$sets} {$where}"; $res=mysql_query($sql); if ($res){ return mysql_affected_rows(); }else { return false; } } /** * 删除记录的操作 * @param string $table * @param string $where * @return number|boolean */ function delete($table,$where=null){ $where=$where==null?'':' WHERE '.$where; $sql="DELETE FROM {$table}{$where}"; $res=mysql_query($sql); if ($res){ return mysql_affected_rows(); }else { return false; } } /** * 查询一条记录 * @param string $sql * @param string $result_type * @return boolean */ function fetchOne($sql,$result_type=MYSQL_ASSOC){ $result=mysql_query($sql); if ($result && mysql_num_rows($result)>0){ return mysql_fetch_array($result,$result_type); }else { return false; } } /** * 得到表中的所有记录 * @param string $sql * @param string $result_type * @return boolean */ function fetchAll($sql,$result_type=MYSQL_ASSOC){ $result=mysql_query($sql); if ($result && mysql_num_rows($result)>0){ while ($row=mysql_fetch_array($result,$result_type)){ $rows[]=$row; } return $rows; }else { return false; } } /**取得结果集中的记录的条数 * @param string $sql * @return number|boolean */ function getTotalRows($sql){ $result=mysql_query($sql); if($result){ return mysql_num_rows($result); }else { return false; } } /**释放结果集 * @param resource $result * @return boolean */ function freeResult($result){ return mysql_free_result($result); } /**断开MYSQL * @param resource $link * @return boolean */ function close($link=null){ return mysql_close($link); } /**得到客户端的信息 * @return string */ function getClintInfo(){ return mysql_get_client_info(); } /**得到MYSQL服务器端的信息 * @return string */ function getServerInfo($link=null){ return mysql_get_server_info($link); } /**得到主机的信息 * @return string */ function getHostInfo($link=null){ return mysql_get_host_info($link); } /**得到协议信息 * @return string */ function getProtoInfo($link=null){ return mysql_get_proto_info($link); }
2. 数据库配置文件:config.php
<?php define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PWD', ''); define('DB_CHARSET', 'UTF8'); define('DB_DBNAME', 'homework');
3. mysql函数使用(测试)文件:testMysqlFunc.php
<?php header('content-type:text/html;charset=utf-8'); require_once 'mysql.func.php'; require_once 'config.php'; //连接 /* $host='localhost'; $username='root'; $password=''; $charset='UTF8'; $dbName='homework'; $link=connect($host, $username, $password, $dbName, $charset); var_dump($link); */ /* $config=array( 'host'=>'localhost', 'username'=>'root', 'password'=>'', 'charset'=>'UTF8', 'dbName'=>'homework' ); $link=connect1($config); var_dump($link); */ $link=connect2(); //var_dump($link); $array=array( 'username'=>'king1', 'password'=>'1231231', 'email'=>'dh1@qq.com', 'age'=>'12', 'sex'=>'女' ); // $table='users2'; // $res=insert($array, $table); // var_dump($res); // $table='users2'; // $res=update($array, $table,'id=3'); // var_dump($res); // $table='users2'; // $res=delete($table,'id=1'); // var_dump($res); // $sql='SELECT * FROM users2 WHERE id=1 '; // $row=fetchOne($sql); // var_dump($row); $sql='SELECT * FROM users2'; $rows=fetchAll($sql); var_dump($rows);