本文目錄一覽:
PHP用戶類的一個方法怎樣調用數據庫操作類
直接調用就行了,不過可能你需要引用文件,以下是例子
//文件conn.php,用於連接數據庫
class DB_Conn {
}
//文件 db.php, 用於數據庫操作,這個類必然需要使用數據庫連接對象,因此引用conn.php
require_once conn.php;
class DB {
}
//文件user.php
require_once ‘db.php’;
class User {
public function getUserById($id) {
$conn = new Db_Conn();
$db = new Db();
}
}
以上只是示意,如果文件不在一個目錄下記得修改路徑。而且,一般來說數據庫對象應該包含連接數據庫和數據操作的全部功能,不需要分別寫在兩個類裡面。我覺得你對面向對象的理解還很淺薄,需要進一步累積經驗。
PHP訪問MYSQL數據庫封裝類(附函數說明)
複製代碼
代碼如下:
?php
/*
MYSQL
數據庫訪問封裝類
MYSQL
數據訪問方式,php4支持以mysql_開頭的過程訪問方式,php5開始支持以mysqli_開頭的過程和mysqli面向對象
訪問方式,本封裝類以mysql_封裝
數據訪問的一般流程:
1,連接數據庫
mysql_connect
or
mysql_pconnect
2,選擇數據庫
mysql_select_db
3,執行SQL查詢
mysql_query
4,處理返回的數據
mysql_fetch_array
mysql_num_rows
mysql_fetch_assoc
mysql_fetch_row
etc
*/
class
db_mysql
{
var
$querynum
=
;
//當前頁面進程查詢數據庫的次數
var
$dblink
;
//數據庫連接資源
//鏈接數據庫
function
connect($dbhost,$dbuser,$dbpw,$dbname=”,$dbcharset=’utf-8′,$pconnect=0
,
$halt=true)
{
$func
=
empty($pconnect)
?
‘mysql_connect’
:
‘mysql_pconnect’
;
$this-dblink
=
@$func($dbhost,$dbuser,$dbpw)
;
if
($halt
!$this-dblink)
{
$this-halt(“無法鏈接數據庫!”);
}
//設置查詢字符集
mysql_query(“SET
character_set_connection={$dbcharset},character_set_results={$dbcharset},character_set_client=binary”,$this-dblink)
;
//選擇數據庫
$dbname
@mysql_select_db($dbname,$this-dblink)
;
}
//選擇數據庫
function
select_db($dbname)
{
return
mysql_select_db($dbname,$this-dblink);
}
//執行SQL查詢
function
query($sql)
{
$this-querynum++
;
return
mysql_query($sql,$this-dblink)
;
}
//返回最近一次與連接句柄關聯的INSERT,UPDATE
或DELETE
查詢所影響的記錄行數
function
affected_rows()
{
return
mysql_affected_rows($this-dblink)
;
}
//取得結果集中行的數目,只對select查詢的結果集有效
function
num_rows($result)
{
return
mysql_num_rows($result)
;
}
//獲得單格的查詢結果
function
result($result,$row=0)
{
return
mysql_result($result,$row)
;
}
//取得上一步
INSERT
操作產生的
ID,只對錶有AUTO_INCREMENT
ID的操作有效
function
insert_id()
{
return
($id
=
mysql_insert_id($this-dblink))
=
?
$id
:
$this-result($this-query(“SELECT
last_insert_id()”),
0);
}
//從結果集提取當前行,以數字為key表示的關聯數組形式返回
function
fetch_row($result)
{
return
mysql_fetch_row($result)
;
}
//從結果集提取當前行,以字段名為key表示的關聯數組形式返回
function
fetch_assoc($result)
{
return
mysql_fetch_assoc($result);
}
//從結果集提取當前行,以字段名和數字為key表示的關聯數組形式返回
function
fetch_array($result)
{
return
mysql_fetch_array($result);
}
//關閉鏈接
function
close()
{
return
mysql_close($this-dblink)
;
}
//輸出簡單的錯誤html提示信息並終止程序
function
halt($msg)
{
$message
=
“html\nhead\n”
;
$message
.=
“meta
content=’text/html;charset=gb2312’\n”
;
$message
.=
“/head\n”
;
$message
.=
“body\n”
;
$message
.=
“數據庫出錯:”.htmlspecialchars($msg).”\n”
;
$message
.=
“/body\n”
;
$message
.=
“/html”
;
echo
$message
;
exit
;
}
}
?
PHP採用pdo方式訪問數據庫時,exec方法和prepare方法有什麼區別
區別是:
PHP採用pdo方式訪問數據庫時,您不必再使用再為它們封裝數據庫操作類,只需要使用PDO接口中的方法就可以對各種數據庫進行操作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/300591.html