class mysql { private $db_host; //資料庫主機 private $db_user; //資料庫使用者名稱 private $db_pwd; //資料庫使用者名稱密碼 private $db_database; //資料庫名 private $conn; //資料庫連接標識; private $result; //執行query命令的結果資源標識 private $sql; //sql執行語句 private $row; //返回的條目數 private $coding; //資料庫編碼,GBK,UTF8,gb2312 private $bulletin = true; //是否開啟錯誤記錄 private $show_error = true; //測試階段,顯示所有錯誤,具有安全隱患,預設關閉 private $is_error = false; //發現錯誤是否立即終止,預設true,建議不啟用,因為當有問題時使用者什麼也看不到是很苦惱的 /*建構函式*/ public function __construct($db_host, $db_user, $db_pwd, $db_database, $conn, $coding) { $this->db_host = $db_host; $this->db_user = $db_user; $this->db_pwd = $db_pwd; $this->db_database = $db_database; $this->conn = $conn; $this->coding = $coding; $this->connect(); } /*資料庫連接*/ public function connect() { if ($this->conn == "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 (!mysql_select_db($this->db_database, $this->conn)) { if ($this->show_error) { $this->show_error("資料庫不可用:", $this->db_database); } } mysql_query("SET NAMES $this->coding"); } /*資料庫執行語句,可執行查詢添加修改刪除等任何sql語句*/ public function query($sql) { if ($sql == "") { $this->show_error("SQL語句錯誤:", "SQL查詢語句為空白"); } $this->sql = $sql; $result = mysql_query($this->sql, $this->conn); if (!$result) { //調試中使用,sql語句出錯時會自動列印出來 if ($this->show_error) { $this->show_error("錯誤SQL語句:", $this->sql); } } else { $this->result = $result; } return $this->result; } /*建立添加新的資料庫*/ public function create_database($database_name) { $database = $database_name; $sqlDatabase = 'create database ' . $database; $this->query($sqlDatabase); } |