|
導讀數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應... 數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應用程序彼此獨立的數據集合。 俗話說“好的開始是成功的一半”,而PHP+MySQL項目中數據庫的操作是重點之一,能否簡化數據庫操作程序的編寫,就成了影響工作效率的關鍵之一。所以小陽并不是一開始就做頁面,而是先建立一個“dbclass.php”文件,開始編寫操作MySQL數據庫的類“dbClass”。即在“dbclass.php”中編寫以下程序: <? php $db_username="myusername"; //連接數據庫的用戶名 $db_password="mypassword"; //連接數據庫的密碼 $db_database="mydatabase"; //數據庫名 $db_hostname="localhost"; //服務器地址 class dbClass{ //開始數據庫類 var $username; var $password; var $database; var $hostname; var $link; var $result; function dbClass($username,$password,$database,$hostname="localhost"){ $this->username=$username; $this->password=$password; $this->database=$database; $this->hostname=$hostname; } function connect(){ //這個函數用于連接數據庫 $this->link=mysql_connect($this->hostname,$this->username,$this->password) or die("Sorry,can not connect to database"); return $this->link; } function select(){ //這個函數用于選擇數據庫 mysql_select_db($this->database,$this->link); } function query($sql){ //這個函數用于送出查詢語句并返回結果,常用。 if($this->result=mysql_query($sql,$this->link)) return $this->result; else { //這里是顯示SQL語句的錯誤信息,主要是設計階段用于提示。正式運行階段可將下面這句注釋掉。 echo "SQL語句錯誤: <font color=red>$sql</font> <BR><BR>錯誤信息: ".mysql_error(); return false; } } [page_break]/* 以下函數用于從結果取回數組,一般與 while()循環、$db->query($sql) 配合使用,例如: $result=query("select * from mytable"); while($row=$db->getarray($result)){ echo "$row[id] "; } */ function getarray($result){ return @mysql_fetch_array($result); } /* 以下函數用于取得SQL查詢的第一行,一般用于查詢符合條件的行是否存在,例如: 用戶從表單提交的用戶名$username、密碼$password是否在用戶表“user”中,并返回其相應的數組: if($user=$db->getfirst("select * from user where username='$username' and password='$password' ")) echo "歡迎 $username ,您的ID是 $user[id] 。"; else echo "用戶名或密碼錯誤!"; */ function getfirst($sql){ return @mysql_fetch_array($this->query($sql)); } /* 以下函數返回符合查詢條件的總行數,例如用于分頁的計算等要用到,例如: $totlerows=$db->getcount("select * from mytable"); echo "共有 $totlerows 條信息。"; */ function getcount($sql){ return @mysql_num_rows($this->query($sql)); } /* 以下函數用于更新數據庫,例如用戶更改密碼: $db->update("update user set password='$new_password' where userid='$userid' "); */ function update($sql){ return $this->query($sql); } /* 以下函數用于向數據庫插入一行,例如添加一個用戶: $db->insert("insert into user (userid,username,password) values (null,'$username','$password')"); */ function insert($sql){ return $this->query($sql); } function getid(){ //這個函數用于取得剛插入行的id return mysql_insert_id(); } } /* 主要函數就是這些,如果你自己有另外的需要,也可以自己添加上去。 因為凡使用該類的都必須連接數據庫,下面就連接并選擇好數據庫吧: */ $db=new dbClass("$db_username","$db_password","$db_database","$db_hostname"); $db->connect(); $db->select(); ?> OK,數據庫的類已經寫好了,它不但可以用在目前這個項目中,其他項目的同樣適用!只要把“dbclass.php”復制過去就行了。要用本文件的時候只要用語句“include_once("dbclass.php")”就行,具體語法在編寫數據庫類時已有舉例,不再贅述。 寫好數據庫的類后,數據庫的操作就方便多了,項目的制作已跨出了重要的第一步。 全新的路由器不僅讓你更穩定快速地連接無線網絡,更可以讓家中的智能設備連接在一起。 |
溫馨提示:喜歡本站的話,請收藏一下本站!