99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

php定義數據庫操作類 php常用類庫

PHP用戶類的一個方法怎樣調用數據庫操作類

直接調用就行了,不過可能你需要引用文件,以下是例子

創新互聯建站從2013年創立,是專業互聯網技術服務公司,擁有項目網站設計、成都網站設計網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元恩施土家做網站,已為上家服務,為恩施土家各地企業和個人服務,聯系電話:028-86922220

//文件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 opencart怎么進行數據庫操作

1,根目錄下config.php中定義了數據庫信息:

// DB

define('DB_DRIVER', 'mysqli');

define('DB_HOSTNAME', 'localhost');

define('DB_USERNAME', 'root');

define('DB_PASSWORD', 'qqqq');

define('DB_DATABASE', 'qqqq');

define('DB_PORT', '3306');

define('DB_PREFIX', 'oc_');

2,systemlibrary文件夾下db.php中定義了DB類,數據庫的連接方法

$this-db = new $class($hostname, $username, $password, $database, $port);

3,index.php中初始化數據庫連接

$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE, DB_PORT);

4,controller中調用model層定義的查詢函數

$layout_id = $this-model_catalog_category-getCategoryLayoutId(end($path));

5,model層getCategoryLayoutId函數中返回查詢sql結果

$query = $this-db-query("SELECT * FROM " . DB_PREFIX . "category_to_layout WHERE category_id = '" . (int)$category_id . "' AND store_id = '" . (int)$this-config-get('config_store_id') . "'");

PHP基于單例模式實現的數據庫操作基類

本文實例講述了PHP基于單例模式實現的數據庫操作基類。分享給大家供大家參考,具體如下:

配置文件:

?php

$db

=

array(

'host'='localhost',

'user'='root',

'password'='',

'database'='test',

)

?

php

數據庫基類:

?php

class

db

{

public

$conn;

public

static

$sql;

public

static

$instance=null;

private

function

__construct(){

require_once('db.config.php');

$this-conn

=

mysql_connect($db['host'],$db['user'],$db['password']);

if(!mysql_select_db($db['database'],$this-conn)){

echo

"失敗";

};

mysql_query('set

names

utf8',$this-conn);

}

public

static

function

getInstance(){

if(is_null(self::$instance)){

self::$instance

=

new

db;

}

return

self::$instance;

}

/**

*

查詢數據庫

*/

public

function

select($table,$condition=array(),$field

=

array()){

$where='';

if(!empty($condition)){

foreach($condition

as

$k=$v){

$where.=$k."='".$v."'

and

";

}

$where='where

'.$where

.'1=1';

}

$fieldstr

=

'';

if(!empty($field)){

foreach($field

as

$k=$v){

$fieldstr.=

$v.',';

}

$fieldstr

=

rtrim($fieldstr,',');

}else{

$fieldstr

=

'*';

}

self::$sql

=

"select

{$fieldstr}

from

{$table}

{$where}";

$result=mysql_query(self::$sql,$this-conn);

$resuleRow

=

array();

$i

=

0;

while($row=mysql_fetch_assoc($result)){

foreach($row

as

$k=$v){

$resuleRow[$i][$k]

=

$v;

}

$i++;

}

return

$resuleRow;

}

/**

*

添加一條記錄

*/

public

function

insert($table,$data){

$values

=

'';

$datas

=

'';

foreach($data

as

$k=$v){

$values.=$k.',';

$datas.="'$v'".',';

}

$values

=

rtrim($values,',');

$datas

=

rtrim($datas,',');

self::$sql

=

"INSERT

INTO

{$table}

({$values})

VALUES

({$datas})";

if(mysql_query(self::$sql)){

return

mysql_insert_id();

}else{

return

false;

};

}

/**

*

修改一條記錄

*/

public

function

update($table,$data,$condition=array()){

$where='';

if(!empty($condition)){

foreach($condition

as

$k=$v){

$where.=$k."='".$v."'

and

";

}

$where='where

'.$where

.'1=1';

}

$updatastr

=

'';

if(!empty($data)){

foreach($data

as

$k=$v){

$updatastr.=

$k."='".$v."',";

}

$updatastr

=

'set

'.rtrim($updatastr,',');

}

self::$sql

=

"update

{$table}

{$updatastr}

{$where}";

return

mysql_query(self::$sql);

}

/**

*

刪除記錄

*/

public

function

delete($table,$condition){

$where='';

if(!empty($condition)){

foreach($condition

as

$k=$v){

$where.=$k."='".$v."'

and

";

}

$where='where

'.$where

.'1=1';

}

self::$sql

=

"delete

from

{$table}

{$where}";

return

mysql_query(self::$sql);

}

public

static

function

getLastSql(){

echo

self::$sql;

}

}

$db

=

db::getInstance();

//$list

=

$db-select('demo',array('name'='tom','password'='ds'),array('name','password'));

//echo

$db-insert('demo',array('name'='腳本之家','password'='123'));

//echo

$db-update('demo',array("name"='xxx',"password"='123'),array('id'=1));

echo

$db-delete('demo',array('id'='2'));

db::getLastSql();

echo

"pre";

?

更多關于PHP操作數據庫相關內容感興趣的讀者可查看本站專題:《php+mysql數據庫操作入門教程》、《PHP基于pdo操作數據庫技巧總結》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

PHP數據庫操作之基于Mysqli的數據庫操作類庫

此類庫簡單、易用,便于你自己修改和對功能的改善,能解決大部分

PHP

項目中執行的

SQL

操作。

初步工作

首先,請大家下載這個類庫

M.class.php 再下載一個

Mysqli

連接數據庫的類庫

MysqliDb.class.php(打包下載地址)

新建一個

includes

的文件夾,將下載下來的兩個

class

文件,放進去。

然后,請你在項目下創建一個

test.php

文件。注:UTF-8

文件格式

請先根據你機器的情況,填充以下代碼,用于連接數據庫:

復制代碼

代碼如下:

header('Content-Type:text/html;Charset=utf-8');

define('ROOT_PATH',

dirname(__FILE__));

define('DB_HOST',

'localhost');

//數據庫服務器地址

define('DB_USER',

'root');

//數據庫用戶名

define('DB_PWD',

'×××');//數據庫密碼

define('DB_NAME',

'×××');

//數據庫名稱

define('DB_PORT',

'3306');

//數據庫端口

function

__autoload($className)

{

require_once

ROOT_PATH

.

'/includes/'.

ucfirst($className)

.'.class.php';

//自動加載

class

文件

}

好了,上面的這些操作都是初步工作,下面正式進入類庫的講解。

類庫講解

首先,我們得實例化

M.class.php,實例化很簡單:

復制代碼

代碼如下:

$m

=

new

M();

//這步操作代表

M.class.php

中的所有功能都封裝在了變量

$m

注:

1、M類庫中的方法參數說明,請到

M.class.php

文件中看詳細的注釋,這里不再進行敘述。建議在學習的時候,對照著看下文件中的參數即注釋。

2、講解代碼中用到的數據庫結構為:

復制代碼

代碼如下:

CREATE

TABLE

`user`

(

`id`

int(8)

unsigned

NOT

NULL

auto_increment,

`name`

varchar(50)

default

NULL,

`email`

varchar(100)

default

NULL,

`age`

smallint(3)

default

NULL,

`class_id`

int(8)

default

NULL,

`commit_time`

int(10)

default

NULL,

PRIMARY

KEY

(`id`),

KEY

`name`

(`name`)

)

ENGINE=MyISAM

DEFAULT

CHARSET=utf8

復制代碼

代碼如下:

CREATE

TABLE

`class`

(

`class_id`

int(8)

NOT

NULL

auto_increment,

`class_name`

varchar(100)

default

NULL,

PRIMARY

KEY

(`class_id`)

)

ENGINE=InnoDB

DEFAULT

CHARSET=utf8

并添加一條測試數據。

3、M類庫中,大部分方法都分兩中類型,即:SQL方法;拼接方法,具體在實例中可以看出

4、以下稱述中的

M

M.class.php

文件

方法1、Insert()

添加數據

Insert

方法的全部使用案例如下:

復制代碼

代碼如下:

$m-Insert("user",

null,

array('焦焦',

'liruxing1715@sina.com',

'23',

time()));

//

拼接方法:往`user`表中添加一條數據,返回值為數據庫影響的行數

$m-Insert("user",

null,

array('焦焦',

'liruxing1715@sina.com',

'23',

time()),

true);

//

功能同上,返回

last_insert_id(插入的增長id)

$m-Insert("INSERT

INTO

`user`

(`name`,

`email`,

`age`,

`commit_time`)

VALUES

('張小花',

'zhangxiaohua@sina.com.cn',

'22',

'".time()."')");

//SQL方法,返回值為數據庫影響的行數

$m-Insert("INSERT

INTO

`user`

(`name`,

`email`,

`age`,

`commit_time`)

VALUES

('張小花',

'zhangxiaohua@sina.com.cn',

'22',

'".time()."')",

true);

//

同上,返回

last_insert_id

注:Insert

方法中的第二個參數若為null,可自動獲得插入表除

auto_increment

字段之外的所有字段,詳情請看M源文件;若要返回值為最后插入的

ID,那么請設置

Insert

方法的最后一個參數為

true(默認是false);

方法2、Update()

修改數據

update

方法的全部使用案例如下:

復制代碼

代碼如下:

$m-Update("user",

array('name'='李茹茹',

'age'=24),

"id=1");

//拼接方法,修改id為1的數據的名稱為“李茹茹”;年齡為“24”,其方法的返回值為受影響的行數

$m-Update("UPDATE

`user`

SET

`name`='李茹茹',

`age`=24

WHERE

id

=

1");

//SQL

用法,功能同上

方法3、Del()

刪除數據

Del

方法的全部使用案例如下:

復制代碼

代碼如下:

$m-Del('user',

'id=3');

//拼接方法:刪除`user`表中

id

為3的數據,返回受影響的行數

$m-Del("DELETE

FROM

`user`

WHERE

id=4");

//SQL方法:刪除`user`表中

id

為4的數據,返回受影響的行數

$m-Del("DELETE

FROM

`user`

WHERE

id

in

(10,

11,

12)");

//SQL方法:刪除多條數據,刪除`user`表中

id

10、11、12

的數據,返回受影響的行數

方法4、Total()

獲取記錄數,返回值都為int

Del

方法的全部使用案例如下:

復制代碼

代碼如下:

$m-Total('user');

//拼接方法:返回

`user`表中的記錄數,無條件

$m-Total('user',

'id1');

//拼接方法:返回

`user`表中

id

大于1的記錄數,有條件

$m-Total("SELECT

COUNT(*)

AS

total

FROM

`user`");

//SQL方法,注:使用SQL方法,語句中必須使用

"AS

total",否則會報錯

方法5、IsExists()

檢查數據是否存在,返回值為boolean

復制代碼

代碼如下:

$m-IsExists('user',

"`name`='焦焦'");

//拼接方法:返回`user`表中是否存在`name`為“焦焦”的數據,返回true,若不存在,返回false

方法6、InsertId()

獲取表下一個添加的自動增長id,注意,這里不進行添加操作,只是獲取下一個增長id

復制代碼

代碼如下:

echo

$m-InsertId('user');

//獲取`user`

表下一個添加的自動增長id

方法7、GetRow()

返回單條數據,返回值為一維數組

GetRow

方法的全部使用案例如下:

復制代碼

代碼如下:

$data

=

$m-GetRow("SELECT

`name`,email

FROM

`user`

WHERE

id=1");

//SQL方法,返回一維數組,例如:Array

(

[name]

=

焦焦

[email]

=

liruxing1715@sina.com

)

$data

=

$m-GetRow("SELECT

u.`name`,

u.email,

c.class_name

FROM

`user`

u,

`class`

c

WHERE

u.class_id=c.class_id

AND

u.id=1");

//SQL方法,多表查詢

$data

=

$m-GetRow('user',

'`name`,email',

"id=1");

//拼接方法

$data

=

$m-GetRow('user

as

u,`class`

c',

'u.`name`,u.email,c.class_name',

"u.id=1

AND

u.class_id=c.class_id");

//拼接方法,多表查詢

$data

=

$m-GetRow("SELECT

`name`,email

FROM

`user`");

//如果沒有指定條件應該是顯示全部信息,但是在此方法中將默認顯示第一條(不推薦這么使用!!!)

$data

是查詢出來的一維數組。

方法8、GetOne()

返回單個數據

GetOne

方法的全部使用案例如下:

復制代碼

代碼如下:

$name

=

$m-GetOne("SELECT

`name`

FROM

`user`

WHERE

id=1");

//SQL方法,返回一個字符串,例如:焦焦

$name

=

$m-GetOne("user",

"name",

"id=1");

//拼接方法,返回一個字符串,例如:焦焦

方法9、FetchAll()

返回所有記錄

復制代碼

代碼如下:

$data

=

$m-FetchAll("user");

//返回`user`表中的所有記錄,以二維數組的形式

$data

=

$m-FetchAll("SELECT

*

FROM

`user`");

//SQL

方法,功能和返回值同上

$data

=

$m-FetchAll("user",

"name,email",

"id1",

'id

DESC',

'2');

//返回兩條id1的數據,只顯示name,email,并且以id

為倒序排序。注:請注意該方法的最后一個參數也可以為'0,2',目的是為分頁準備的,如果第一頁為'0,2'的話,那么第二頁就是'2,2'

//該方法也支持聯表查詢和多表查詢,下面以聯表查詢為例

$data

=

$m-FetchAll("`user`

as

u

LEFT

JOIN

`class`

as

c

ON

u.class_id=c.class_id",

"u.`name`,u.email,

c.class_name",

"u.id=1");

//注意:該拼接方法中,ON

添加的位置

注:對于該

FetchAll

方法,后續我會寫一篇使用該方法進行完美分頁的文章!!請關注。

方法10、MultiQuery()

執行多條SQL語句

復制代碼

代碼如下:

$sql

=

"INSERT

INTO

user

(`name`,email,

age,

class_id,

commit_time)

VALUES

('賈花花',

'jiahuahua@sina.com.cn',

'22',

'1',

'".time()."')";

//添加一個名叫“賈花花”的學生信息

$sql

.=

";DELETE

FROM

`user`

WHERE

`name`='焦焦'";

//刪除一條名叫“焦焦”的學生信息

//解釋:$sql

是多條

SQL

以英文;(分號)拼接起來的

$data

=

$m-MultiQuery($sql);

//返回為true,代表執行成功;為false,代表執行失敗

類庫講解完畢

到此該類庫的全部功能就講解完畢,希望你能多看看M文件,了解其內部運行的機制。M

文件不會存在執行緩慢情況,請大家放心使用。

如果在使用過程中出現

SQL

拼接錯誤,類庫會報出友善的錯誤提示。

有問題請留言,歡迎大家的批評和建議,加油!學習好運。

綜合應用數據庫知識和用面向對象編程技術在PHP程序中創建出學生類

PHP使用面向對象的編程方式來編寫數據庫操作類

步驟1:創建一個PHP的頁面“config.php”定義數據庫相關的參數

?php // config.php

define(?DB_USER?, "username");

define(?DB_PASSWORD?, "password");

define(?DB_DATABASE?, "database name");

define(?DB_SERVER?, "ip address of database server");

?

第2步:創建一個PHP的類,用于連接數據庫,命名為“db_connect.php”

?php // db_connnect.php

class DB_Connect {

private $con;

// constructor

function __construct() {

// connecting to database

$this-con = $this-connect();

}

//Function to connect with database

private function connect() {

// import database connection variables

require_once __DIR__.?/config.php?;

try {

$conn = new PDO(?mysql:host=?.DB_SERVER .?;

dbname=?.DB_DATABASE, DB_USER, DB_PASSWORD);

$conn-setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch(PDOException $e) {

echo ?ERROR: ? . $e-getMessage();

}

return $conn;

}

public function getDbConnection(){

return $this-con;

}

}

?

第3步:創建一個類,它包含了所有的功能,為您實現SQL查詢,命名為“db_functions.php”

調用里面的函數進行SQL查詢、以促進可重用性和可維護性

?php // db_functions.php

class DB_Functions {

private $con;

// constructor

function __construct() {

require_once __DIR__.?/db_connect.php?;

// connecting to database

$db = new DB_Connect();

$this-con = $db-getDbConnection();

}

public function selectUser($id) {

try {

$stmt = $this-con-prepare(?SQL語句?);

$params = array(?:id? = $id);

$stmt-execute($params);

return $stmt;

} catch(PDOException $e) {

echo ?ERROR: ? . $e-getMessage();

}

}

public function otherSQLfunction($parameter) {

// other sql code

}

}

第4步:最后,在你其他的PHP文件里面只需要簡單地調用“db_functions.php”的方法

?php

require_once __DIR__.?/db_functions.php?;

$db = new DB_Functions();

$result = $db-selectUser($id);

// other code

?

php如何使用類和數據庫進行數據操作

貼出自己寫的一個數據庫類吧。

class.php

?php

class Db_Base

{

var $db_host;

var $db_name;

var $db_user;

var $password;

var $linkID;

var $sql;

var $result;

//構造函數,其中dbname,dbuser,dbpsd填自己的數據名,用戶名,密碼

function __construct()

{

$this-linkID = 0;

$this-sql = "";

$this-db_name="dbname";

$this-db_user="dbuser";

$this-password="dbpsd";

$this-db_host="localhost";

//調用數據庫鏈接函數

$this-Db_Connect();

}

function Db_Base()

{

$this-__construct();

}

//鏈接數據庫函數

function Db_Connect()

{

$this-linkID=@mysql_connect($this-db_host,$this-db_user,$this-password);

if(!$this-linkID)

{

DisplayError("連接失敗");exit();

}

$this-Db_Select();

return true;

}

//選擇數據庫函數

function Db_Select()

{

$select=mysql_select_db($this-db_name);

if(!$select)

{

DisplayError("選擇數據庫失敗");exit();

}

}

//sql語句操作

function Db_Query($sql)

{

if($sql) $this-sql=$sql;

if(!($this-result=mysql_query($this-sql,$this-linkID)))

{

DisplayError("SQL無效");

return 0;

}

else

{

return $this-result;

}

}

//sql語句的結果用數組返回

function Db_Fetch_Array()

{

return mysql_fetch_array($this-result);

}

//select語句 影響的行數

function Db_Num_Rows()

{

return mysql_num_rows($this-result);

}

//INSERT、UPDATE 、DELETE 的影響行數

function Db_Affected_Rows()

{

return mysql_affected_rows();

}

//清除記錄

function Db_Free_Result()

{

if(!is_array($this-result)) return "";

foreach($this-result as $kk = $vv)

{

if($vv) @mysql_free_result($vv);

}

}

?

其中DisplayError 為外部定義函數

應用的話,如下操作

example.php

?php

require_once(class.php);

$news=new Db_Base();//構建對象

$sql="select * from tableA limit 0,100";//初始化sql語句

$news-Db_Query($sql);//向數據庫插入sql語句

while($re=$news-Db_Fetch_Array())//循環輸出sql結果集

{

echo $re[keyA];

echo $re[keyB];//keyA,keyB為你數據表的鍵

}

echo $news-Db_Num_Rows();//輸出本次sql語句影響的行數,假若sql語句是update,delete,insert的,則用 Db_Affected_Rows() 函數

$news-Db_Free_Result();//清空查詢結果

?

好吧,百度的這個表單輸入框真爛,不能調格式,代碼格式可能很亂,就麻煩樓主慢慢看吧。若有問題再發消息給我百度號。

新聞標題:php定義數據庫操作類 php常用類庫
網址分享:http://www.yijiale78.com/article6/doddcog.html

成都網站建設公司_創新互聯,為您提供動態網站網站收錄小程序開發虛擬主機服務器托管響應式網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設