主页 > 知识库 > 网络编程 > PHP >

PHP

php数据库操作类代码(增,删,改,查)

来源:中国IT实验室 作者:佚名 发表于:2013-07-23 17:55  点击:
数据库操纵基本流程为: 1、连接数据库服务器 2、选择数据库 3、执行SQL语句 4、处理结果集 5、打印操作信息 其中用到的相关函数有 resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]
 数据库操纵基本流程为:  1、连接数据库服务器
  2、选择数据库
  3、执行SQL语句
  4、处理结果集
  5、打印操作信息
  其中用到的相关函数有
  •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] ) 向与指定的连接标识符关联的服务器中的当前活动数据库发送一条查询。php如果没有指定 link_identifier,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数调用 mysql_connect() 函数来建立一个连接并使用之。查询结果会被缓存
  代码如下:来源php教程中心
  . 代码如下:
  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 fetchObject(){
  // return mysql_fetch_object($this->result);
  // }
  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%
    没帮助
    (0)
    0%
    天线宝宝6合彩127期开奖资料 吉木萨尔县| 大理市| 个旧市| 台东县| 溆浦县| 衡山县| 如皋市| 阳春市| 富源县| 泸西县| 五莲县| 胶州市| 航空| 阜阳市| 西乡县| 互助| 黑水县| 麟游县| 柳江县| 辽阳市| 南郑县| 大城县| 梁山县| 绍兴市| 许昌县| 南乐县| 云梦县| 泸州市| 呼玛县| 县级市| 临高县| 宁陵县| 利川市| 沾化县| 霞浦县| 湖口县| 顺平县| 五指山市| 桃源县| 河北区| 德化县| 咸丰县| 彝良县| 湟中县| 天水市| 措美县| 龙州县| 宣城市| 辽阳市| 巨野县| 康马县| 行唐县| 商丘市| 南乐县| 梁山县| 界首市| 贡山| 安丘市| 长岛县| 天水市| 池州市| 汉川市| 嘉禾县| 淮南市| 襄垣县| 扎囊县| 鹤壁市| 和政县| 铁力市| 靖宇县| 沂南县| 虹口区| 辽宁省| 策勒县| 岑巩县| 邹平县| 定结县| 阿巴嘎旗| 吉首市| 海阳市| 大余县| 瑞金市| 海原县| 湛江市| 海城市| 靖边县| 高阳县| 湖南省| 锡林浩特市| 兴文县| 玉溪市| 万州区| 临沂市| 灵石县| 麻栗坡县| 广德县| 布拖县| 屏东县| 昆山市| 长泰县| 泗水县| 闽清县| 江都市| 台南市| 德阳市| 壶关县| 德昌县| 玛多县| 滦南县| 阜宁县| 烟台市| 长海县| 定州市| 都匀市| 星子县| 长武县| 芜湖市| 长葛市| 祥云县| 乌兰县| 渭源县| 白玉县| 乳山市| 洪洞县| 柳州市| 肃北| 北碚区| 门头沟区| 进贤县| 临海市| 松溪县| 左权县| 东城区| 咸丰县| 南华县| 呼和浩特市| 平远县| 彭州市| 巴东县| 南安市| 固安县| 渭南市| 灌云县| 永胜县| 乌审旗| 台前县| 大新县| 冕宁县| 台江县| 宣恩县| 怀来县| 襄城县| 万年县| 富顺县| 彩票| 怀柔区| 平乡县| 承德市| 饶阳县| 甘孜县| 高碑店市| 田东县| 清徐县| 枣阳市| 阳信县| 武乡县| 镇沅| 乌恰县| 虞城县| 准格尔旗| 延边| 常山县| 济宁市| 酒泉市| 平湖市| 迁安市| 浮梁县| 克什克腾旗| 高尔夫| 赤壁市| 西贡区| 济宁市| 木兰县| 周宁县| 永城市| 保定市| 襄城县| 延安市|