简单易用的数据库调用类(增、删、查、改)
来源:互联网 发布:python开发过哪些软件? 编辑:程序博客网 时间:2024/06/15 05:10
•resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]] ) 连接数据库服务器
•resource mysql_pconnect ( [string server [, string username [, string password [, int client_flags]]]] ) 连接数据库服务器,长连接
•int mysql_affected_rows ( [resource link_identifier] )取得最近一次与 link_identifier 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。
•bool mysql_close ( [resource link_identifier] )如果成功则返回 TRUE,失败则返回 FALSE。
•int mysql_errno ( [resource link_identifier] )返回上一个 MySQL 函数的错误号码,如果没有出错则返回 0(零)。
•string mysql_error ( [resource link_identifier] )返回上一个 MySQL 函数的错误文本,如果没有出错则返回 ''(空字符串)。如果没有指定连接资源号,则使用上一个成功打开的连接从 MySQL 服务器提取错误信息。
•array mysql_fetch_array ( resource result [, int result_type] )返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。
•bool mysql_free_result ( resource result )释放所有与结果标识符 result 所关联的内存。
•int mysql_num_fields ( resource result )返回结果集中字段的数目。
•int mysql_num_rows ( resource result )返回结果集中行的数目。此命令仅对 SELECT 语句有效。要取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目,用 mysql_affected_rows()。
•resource mysql_query ( string query [, resource link_identifier] ) 向与指定的连接标识符关联的服务器中的当前活动数据库发送一条查询。如果没有指定 link_identifier,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数调用 mysql_connect() 函数来建立一个连接并使用之。查询结果会被缓存
调用代码如下:
•resource mysql_pconnect ( [string server [, string username [, string password [, int client_flags]]]] ) 连接数据库服务器,长连接
•int mysql_affected_rows ( [resource link_identifier] )取得最近一次与 link_identifier 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。
•bool mysql_close ( [resource link_identifier] )如果成功则返回 TRUE,失败则返回 FALSE。
•int mysql_errno ( [resource link_identifier] )返回上一个 MySQL 函数的错误号码,如果没有出错则返回 0(零)。
•string mysql_error ( [resource link_identifier] )返回上一个 MySQL 函数的错误文本,如果没有出错则返回 ''(空字符串)。如果没有指定连接资源号,则使用上一个成功打开的连接从 MySQL 服务器提取错误信息。
•array mysql_fetch_array ( resource result [, int result_type] )返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。
•bool mysql_free_result ( resource result )释放所有与结果标识符 result 所关联的内存。
•int mysql_num_fields ( resource result )返回结果集中字段的数目。
•int mysql_num_rows ( resource result )返回结果集中行的数目。此命令仅对 SELECT 语句有效。要取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目,用 mysql_affected_rows()。
•resource mysql_query ( string query [, resource link_identifier] ) 向与指定的连接标识符关联的服务器中的当前活动数据库发送一条查询。如果没有指定 link_identifier,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数调用 mysql_connect() 函数来建立一个连接并使用之。查询结果会被缓存
代码如下:
class mysql { private $db_host; //数据库主机 private $db_user; //数据库登陆名 private $db_pwd; //数据库登陆密码 private $db_name; //数据库名 private $db_charset; //数据库字符编码 private $db_pconn; //长连接标识位 private $debug; //调试开启 private $conn; //数据库连接标识 private $msg = ""; //数据库操纵信息 // private $sql = ""; //待执行的SQL语句 public function __construct($db_host, $db_user, $db_pwd, $db_name, $db_chaeset = 'utf8', $db_pconn = false, $debug = false) { $this->db_host = $db_host; $this->db_user = $db_user; $this->db_pwd = $db_pwd; $this->db_name = $db_name; $this->db_charset = $db_chaeset; $this->db_pconn = $db_pconn; $this->result = ''; $this->debug = $debug; $this->initConnect(); } public function initConnect() { if ($this->db_pconn) { $this->conn = @mysql_pconnect($this->db_host, $this->db_user, $this->db_pwd); } else { $this->conn = @mysql_connect($this->db_host, $this->db_user, $this->db_pwd); } if ($this->conn) { $this->query("SET NAMES " . $this->db_charset); } else { $this->msg = "数据库连接出错,错误编号:" . mysql_errno() . "错误原因:" . mysql_error(); } $this->selectDb($this->db_name); } public function selectDb($dbname) { if ($dbname == "") { $this->db_name = $dbname; } if (!mysql_select_db($this->db_name, $this->conn)) { $this->msg = "数据库不可用"; } } public function query($sql, $debug = false) { if (!$debug) { $this->result = @mysql_query($sql, $this->conn); } else { } if ($this->result == false) { $this->msg = "sql执行出错,错误编号:" . mysql_errno() . "错误原因:" . mysql_error(); } // var_dump($this->result); } public function select($tableName, $columnName = "*", $where = "") { $sql = "SELECT " . $columnName . " FROM " . $tableName; $sql .= $where ? " WHERE " . $where : null; $this->query($sql); } public function findAll($tableName) { $sql = "SELECT * FROM $tableName"; $this->query($sql); } public function insert($tableName, $column = array()) { $columnName = ""; $columnValue = ""; foreach ($column as $key => $value) { $columnName .= $key . ","; $columnValue .= "'" . $value . "',"; } $columnName = substr($columnName, 0, strlen($columnName) - 1); $columnValue = substr($columnValue, 0, strlen($columnValue) - 1); $sql = "INSERT INTO $tableName($columnName) VALUES($columnValue)"; $this->query($sql); if($this->result){ $this->msg = "数据插入成功。新插入的id为:" . mysql_insert_id($this->conn); } } public function update($tableName, $column = array(), $where = "") { $updateValue = ""; foreach ($column as $key => $value) { $updateValue .= $key . "='" . $value . "',"; } $updateValue = substr($updateValue, 0, strlen($updateValue) - 1); $sql = "UPDATE $tableName SET $updateValue"; $sql .= $where ? " WHERE $where" : null; $this->query($sql); if($this->result){ $this->msg = "数据更新成功。受影响行数:" . mysql_affected_rows($this->conn); } } public function delete($tableName, $where = ""){ $sql = "DELETE FROM $tableName"; $sql .= $where ? " WHERE $where" : null; $this->query($sql); if($this->result){ $this->msg = "数据删除成功。受影响行数:" . mysql_affected_rows($this->conn); } } public function fetchArray($result_type = MYSQL_BOTH){ $resultArray = array(); $i = 0; while($result = mysql_fetch_array($this->result, $result_type)){ $resultArray[$i] = $result; $i++; } return $resultArray; } public function printMessage(){ return $this->msg; } public function freeResult(){ @mysql_free_result($this->result); } public function __destruct() { if(!empty($this->result)){ $this->freeResult(); } mysql_close($this->conn); } }
调用代码如下:
require_once 'mysql_V1.class.php'; require_once 'commonFun.php'; $db = new mysql('localhost', 'root', '', "test"); //select 查 $db->select("user", "*", "username = 'system'"); $result = $db->fetchArray(MYSQL_ASSOC); print_r($result); dump($db->printMessage()); //insert 增 //$userInfo = array('username'=>'system', 'password' => md5("system")); //$db->insert("user", $userInfo); //dump($db->printMessage()); //update 改 //$userInfo = array('password' => md5("123456")); //$db->update("user", $userInfo, "id = 2"); //dump($db->printMessage()); //delete 删 //$db->delete("user", "id = 1"); //dump($db->printMessage()); //findAll 查询全部 $db->findAll("user"); $result = $db->fetchArray(); dump($result);
阅读全文
0 0
- 简单易用的数据库调用类(增、删、查、改)
- 简单的数据库操作 增 删 改 查
- 简单的数据库操作 增 删 改 查
- 数据库表简单的增,删,改,查代码
- Swift - Realm数据库简单的 增-删-改-查
- mysql数据库的增、删、改、查(二)---查
- 简单的增 删 改 查
- MongoDB简单的增、删、改、查
- hibernate简单的增、删、查、改
- JDBC---简单的增、删、改、查
- 数据库的查、增、删、改
- 数据库的增、删、改、查例子
- 数据库的增、删、改、查
- Oracle数据库的增删改查(简单操作)
- loner_li Oracle数据库的增删改查(简单操作)
- 简单数据库mysql的增删改查(新手)
- 数据库中简单的增删改查(CRUD)
- 简单的数据库 查询 增删改查 -----
- 对Hibernate的session的理解
- leetcode 38 Count and Say
- Android Glide数据更新及内存缓存、硬盘缓存清理
- JAVA提高篇(24)--CharArrayReader、CharArrayWriter简介
- LeetCodeday01
- 简单易用的数据库调用类(增、删、查、改)
- php curl编码类型设置、文件上传与接收数据
- android java中遇到的异常及报错如何解决?
- HihoCoder 1317 题解
- 通信协议——uart
- java jdk配置问题
- JAVA提高篇(25)--PrintWriter简介
- 349. Intersection of Two Arrays
- 【牛客】 操作系统 处理机的所有指令可以在()中执行。