PHP基于单例模式实现的mysql类_PHP
本文实例讲述了PHP基于单例模式实现的mysql类。分享给大家供大家参考,具体如下:
<?php defined('ACC')||exit('Access Denied'); // 封装mysql操作类,包括连接功能,及查询功能. class mysql extends absdb{ protected static $ins = null; protected $host; // 主机名 protected $user; // 用户名 protected $passwd; // 密码 protected $db; // 数据库名 protected $port; // 端口 protected $conn = null; // 在内部操作,获得一个对象 public static function getIns() { if(self::$ins === null) { self::$ins = new self(); } $conf = conf::getIns(); self::$ins->host = $conf->host; self::$ins->user = $conf->user; self::$ins->passwd = $conf->pwd; self::$ins->db = $conf->db; self::$ins->port = $conf->port; self::$ins->connect(); self::$ins->select_db(); self::$ins->setChar(); return self::$ins; } // 不让外部做new操作, protected function __construct() { } // 连接数据库 public function connect() { $this->conn = @mysql_connect($this->host,$this->user,$this->passwd,$this->port); if(!$this->conn) { $error = new Exception('数据库连不上',9); throw $error; } } // 发送sql查询 public function query($sql) { $rs = mysql_query($sql,$this->conn); if(!$rs) { log::write($sql); } return $rs; } // 封装一个getAll方法 // 参数:$sql // 返回: array,false public function getAll($sql) { $rs = $this->query($sql); if(!$rs) { return false; } $list = array(); while($row = mysql_fetch_assoc($rs)) { $list[] = $row; } return $list; } // 封装一个getRow方法 // 参数:$sql // 返回: array,false public function getRow($sql) { $rs = $this->query($sql); if(!$rs) { return false; } return mysql_fetch_assoc($rs); } // 封装一个getOne方法, // 参数: $sql // 返回: int,str(单一的值) public function getOne($sql) { $rs = $this->query($sql); if(!$rs) { return false; } $tmp = mysql_fetch_row($rs); return $tmp[0]; } // 封装一个afftect_rows()方法 // 参数:无 // 返回 int 受影响行数 public function affected_rows() { return mysql_affected_rows($this->conn); } // 返回最新生成的auto_increment列的值 public function last_id() { return mysql_insert_id($this->conn); } // 选库函数 public function select_db() { $sql = 'use ' . $this->db; return $this->query($sql); } // 设置字符集的函数 public function setChar() { $sql = 'set names utf8'; return $this->query($sql); } // 自动生成insert语句,update语句并执行 public function autoExecute($data,$table,$act='insert',$where='') { if($act == 'insert') { $sql = 'insert into ' . $table . ' ('; $sql .= implode(',',(array_keys($data))); $sql .= ') values (\''; $sql .= implode("','",array_values($data)); $sql .= "')"; } else if($act == 'update') { if(!trim($where)) { return false; } $sql = 'update ' . $table . ' set '; foreach($data as $k=>$v) { $sql .= $k; $sql .= '='; $sql .= "'".$v."',"; } $sql = substr($sql,0,-1); $sql .= ' where '; $sql .= $where; } else { return false; } //return $sql; return $this->query($sql); } }
更多关于PHP数据库操作相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《PHP基于pdo操作数据库技巧总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
