php調用mysql資料 dbclass類

來源:互聯網
上載者:User

複製代碼 代碼如下: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(){ //這個函數用於串連資料庫
if(!$this->link=mysql_connect($this->hostname,$this->username,$this->password))
$this->halt("Sorry,can not connect to database");

if($this->version() > '4.1') {
global $dbcharset,$charset;
if(!$dbcharset && in_array(strtolower($charset), array('gbk', 'big5', 'utf-8'))) {
$dbcharset = str_replace('-', '', $charset);
}
if($dbcharset) {
mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary");
}
}
if($this->version() > '5.0.1') {
mysql_query("SET sql_mode=''");
}

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 {
$this->halt("SQL語句錯誤: <font color=red>$sql</font><br><br>錯誤資訊: ".mysql_error());
return false;
}
}

/*
以下函數用於從結果取回數組,一般與 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();
}

function num_rows($query) {
$query = mysql_num_rows($query);
return $query;
}

function num_fields($query) {
return mysql_num_fields($query);
}

function free_result($query) {
return mysql_free_result($query);
}

function version() {
return mysql_get_server_info();
}

function close() {
return mysql_close();
}

function halt($message = '') {
return $message;
}
}

$db=new dbClass("$db_username","$db_password","$db_database","$db_hostname");
$db->connect();
$db->select();

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.