這是一很基礎的東西我們能過構造函數來實現創建類就自動與mysql服務器進行連接,我們只要設置好 $name,$pass,$table三個變量的值就好了,代碼如下:
- <?php
- class ConnectionMySQL{
- //主機
- private $host="localhost";
- //數據庫的username
- private $name="root";
- //數據庫的password
- private $pass="";
- //數據庫名稱
- private $table="phptest";
- //編碼形式
- private $ut="utf-8";
- //構造函數
- function __construct(){
- $this->ut=$ut;
- $this->connect();
- }
- //數據庫的鏈接
- function connect(){
- $link=mysql_connect($this->host,$this->name,$this->pass) or die ($this->error());
- mysql_select_db($this->table,$link) or die("沒該數據庫:".$this->table);
- mysql_query("SET NAMES '$this->ut'");
- }
- function query($sql, $type = '') {
- if(!($query = mysql_query($sql))) $this->show('Say:', $sql);
- return $query;
- }
- function show($message = '', $sql = '') {
- if(!$sql) echo $message;
- else echo $message.'<br>'.$sql;
- }
- function affected_rows() {
- return mysql_affected_rows();
- }
- function result($query, $row) {
- return mysql_result($query, $row);
- }
- function num_rows($query) {
- return @mysql_num_rows($query);
- }
- function num_fields($query) {
- return mysql_num_fields($query);
- }
- function free_result($query) {
- return mysql_free_result($query);
- }
- function insert_id() {
- return mysql_insert_id();
- }
- function fetch_row($query) {
- return mysql_fetch_row($query);
- }
- function version() {
- return mysql_get_server_info();
- }
- function close() {
- return mysql_close();
- }
- //向$table表中插入值
- function fn_insert($table,$name,$value){
- $this->query("insert into $table ($name) value ($value)");
- }
- //根據$id值刪除表$table中的一條記錄
- function fn_delete($table,$id,$value){
- $this->query("delete from $table where $id=$value");
- echo "id為". $id." 的記錄被成功刪除!";
- }//開源代碼Vevb.com
- }
- //調用方法
- $db = new ConnectionMySQL();
- $db->fn_insert('test','id,name,sex',"'','hongtenzone','M'");
- $db->fn_delete('test', 'id', 1);
- ?>
這里我要講述一下關于構造函數,代碼如下:
- //構造函數
- function __construct(){
- $this->ut=$ut;
- $this->connect();
- }
這個頁面使用了構造函數特別要主要在函數中不要調用數據庫連接類了,否則在當前頁面會有多連接連接如果訪問過大服務器就會出mysql has gone的提法.
新聞熱點
疑難解答