日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
php數(shù)據(jù)庫驅(qū)動封裝 php封裝數(shù)據(jù)庫操作

找不到合適的數(shù)據(jù)庫驅(qū)動!您需要為PHP安裝數(shù)據(jù)庫驅(qū)動

打開php.ini,查找extension= php_mysql.dll,看看前面有沒有帶分號,有就給去掉

目前成都創(chuàng)新互聯(lián)公司已為近1000家的企業(yè)提供了網(wǎng)站建設、域名、虛擬空間、網(wǎng)站托管、服務器租用、企業(yè)網(wǎng)站設計、金鄉(xiāng)網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

thikphp 單獨php文件怎樣操作數(shù)據(jù)庫

ThinkPHP內(nèi)置了抽象數(shù)據(jù)庫訪問層,把不同的數(shù)據(jù)庫操作封裝起來,我們只需要使用公共的Db類進行操作,而無需針對不同的數(shù)據(jù)庫寫不同的代碼和底層實現(xiàn),Db類會自動調(diào)用相應的數(shù)據(jù)庫驅(qū)動來處理。目前的數(shù)據(jù)庫包括Mysql、SqlServer、PgSQL、Sqlite、Oracle、Ibase、Mongo,也包括對PDO的支持,如果應用需要使用數(shù)據(jù)庫,必須配置數(shù)據(jù)庫連接信息,數(shù)據(jù)庫的配置文件有多種定義方式。

常用的配置方式是在項目配置文件中添加下面的參數(shù):

?php

//項目配置文件

return array(

//數(shù)據(jù)庫配置信息

'DB_TYPE' = 'mysql', // 數(shù)據(jù)庫類型

'DB_HOST' = 'localhost', // 服務器地址

'DB_NAME' = 'thinkphp', // 數(shù)據(jù)庫名

'DB_USER' = 'root', // 用戶名

'DB_PWD' = '', // 密碼

'DB_PORT' = 3306, // 端口

'DB_PREFIX' = 'think_', // 數(shù)據(jù)庫表前綴

//其他項目配置參數(shù)

// ...

);

或者采用如下配置

'DB_DSN' = 'mysql://username:password@localhost:3306/DbName'

使用DB_DSN方式定義可以簡化配置參數(shù),DSN參數(shù)格式為:

數(shù)據(jù)庫類型://用戶名:密碼@數(shù)據(jù)庫地址:數(shù)據(jù)庫端口/數(shù)據(jù)庫名

如果兩種配置參數(shù)同時存在的話,DB_DSN配置參數(shù)優(yōu)先。

注意:如果要設置分布式數(shù)據(jù)庫,暫時不支持DB_DSN方式配置。1

如果采用PDO驅(qū)動的話,則必須首先配置DB_TYPE 為pdo,然后還需要單獨配置其他參數(shù),例如:

//PDO連接方式

'DB_TYPE' = 'pdo', // 數(shù)據(jù)庫類型

'DB_USER' = 'root', // 用戶名

'DB_PWD' = '', // 密碼

'DB_PREFIX' = 'think_', // 數(shù)據(jù)庫表前綴

'DB_DSN' = 'mysql:host=localhost;dbname=thinkphp;charset=UTF-8'

注意:PDO方式的DB_DSN配置格式有所區(qū)別,根據(jù)不同的數(shù)據(jù)庫類型設置有所不同。

配置文件定義的數(shù)據(jù)庫連接信息一般是系統(tǒng)默認采用的,因為一般一個項目的數(shù)據(jù)庫訪問配置是相同的。該方法系統(tǒng)在連接數(shù)據(jù)庫的時候會自動獲取,無需手動連接。

可以對每個項目和不同的分組定義不同的數(shù)據(jù)庫連接信息,如果開啟了調(diào)試模式的話,還可以在不同的應用狀態(tài)的配置文件里面定義獨立的數(shù)據(jù)庫配置信息。1

第二種 在模型類里面定義connection屬性

如果在某個模型類里面定義了connection屬性的話,則實例化該自定義模型的時候會采用定義的數(shù)據(jù)庫連接信息,而不是配置文件中設置的默認連接信息,通常用于某些數(shù)據(jù)表位于當前數(shù)據(jù)庫連接之外的其它數(shù)據(jù)庫,例如:

//在模型里單獨設置數(shù)據(jù)庫連接信息

protected $connection = array(

'db_type' = 'mysql',

'db_user' = 'root',

'db_pwd' = '1234',

'db_host' = 'localhost',

'db_port' = '3306',

'db_name' = 'thinkphp'

);

也可以采用DSN方式定義,例如:

//或者使用DSN定義

protected $connection = 'mysql://root:1234@localhost:3306/thinkphp';

如果我們已經(jīng)在配置文件中配置了額外的數(shù)據(jù)庫連接信息,例如:

//數(shù)據(jù)庫配置1

'DB_CONFIG1' = array(

'db_type' = 'mysql',

'db_user' = 'root',

'db_pwd' = '1234',

'db_host' = 'localhost',

'db_port' = '3306',

'db_name' = 'thinkphp'

),

//數(shù)據(jù)庫配置2

'DB_CONFIG2' = 'mysql://root:1234@localhost:3306/thinkphp';

那么,我們可以把模型類的屬性定義改為:

//調(diào)用配置文件中的數(shù)據(jù)庫配置1

protected $connection = 'DB_CONFIG1';

//調(diào)用配置文件中的數(shù)據(jù)庫配置2

protected $connection = 'DB_CONFIG2';

如果采用的是M方法實例化模型的話,也可以支持傳入不同的數(shù)據(jù)庫連接信息,例如:

$User = M('User','other_','mysql://root:1234@localhost/demo');

表示實例化User模型,連接的是demo數(shù)據(jù)庫的other_user表,采用的連接信息是第三個參數(shù)配置的。如果我們在項目配置文件中已經(jīng)配置了DB_CONFIG2的話,也可以采用:

$User = M('User','other_','DB_CONFIG2');

如果你的個別數(shù)據(jù)表沒有定義任何前綴的話,可以在前綴參數(shù)中傳入NULL,例如:

$User = M('User',Null,'DB_CONFIG2');

表示實例化User模型,連接的是demo數(shù)據(jù)庫的user表。

需要注意的是,ThinkPHP的數(shù)據(jù)庫連接的惰性的,所以并不是在實例化的時候就連接數(shù)據(jù)庫,而是在有實際的數(shù)據(jù)操作的時候才會去連接數(shù)據(jù)庫(額外的情況是,在系統(tǒng)第一次實例化模型的時候,會自動連接數(shù)據(jù)庫獲取相關模型類對應的數(shù)據(jù)表的字段信息)。

phpstorm怎么安裝mysql驅(qū)動

打開MyEclipse,依次選擇“Windows”—“Open Perspective”—“Other”—“MyEclipse Database Explorer”打開數(shù)據(jù)庫管理窗口。

在窗口左側(cè)空白處,右擊,在彈出的菜單中選擇“New”,彈出數(shù)據(jù)庫驅(qū)動添加窗口。

然后,點擊“Add JARs”,添加下載的驅(qū)動 jars文件,如下圖所示。添加完成后,選擇“Driver classname”驅(qū)動類名:com.mysql.jdbc.Driver

php實現(xiàn)mysql封裝類示例

php封裝mysql類

復制代碼

代碼如下:

?php

class

Mysql

{

private

$host;

private

$user;

private

$pwd;

private

$dbName;

private

$charset;

private

$conn

=

null;

public

function

__construct()

{

$this-host

=

'localhost';

$this-user

=

'root';

$this-pwd

=

'root';

$this-dbName

=

'test';

$this-connect($this-host,$this-user,$this-pwd);

$this-switchDb($this-dbName);

$this-setChar($this-charset);

}

//負責鏈接

private

function

connect($h,$u,$p)

{

$conn

=

mysql_connect($h,$u,$p);

$this-conn

=

$conn;

}

//負責切換數(shù)據(jù)庫

public

function

switchDb($db)

{

$sql

=

'use'

.

$db;

$this-query($sql);

}

//負責設置字符集

public

function

setChar($char)

{

$sql

=

'set

names'

.

$char;

$this-query($sql);

}

//負責發(fā)送sql查詢

public

function

query($sql)

{

return

mysql_query($sql,$this-conn);

}

//負責獲取多行多列的select結(jié)果

public

function

getAll($sql)

{

$list

=

array();

$rs

=

$this-query($sql);

if

(!$rs)

{

return

false;

}

while

($row

=

mysql_fetch_assoc($rs))

{

$list[]

=

$row;

}

return

$list;

}

public

function

getRow($sql)

{

$rs

=

$this-query($sql);

if(!$rs)

{

return

false;

}

return

mysql_fetch_assoc($rs);

}

public

function

getOne($sql)

{

$rs

=

$this-query($sql);

if

(!$rs)

{

return

false;

}

return

mysql_fetch_assoc($rs);

return

$row[0];

}

public

function

close()

{

mysql_close($this-conn);

}

}

echo

'pre';

$mysql

=

new

Mysql();

print_r($mysql);

$sql

=

"insert

into

stu

values

(4,'wangwu','99998')";

if($mysql-query($sql)){

echo

"query成功";

}else

{

echo

"失敗";

}

echo

"br

/";

$sql

=

"select

*

from

stu";

$arr

=

$mysql-getAll($sql);

print_r($arr);

?


網(wǎng)站題目:php數(shù)據(jù)庫驅(qū)動封裝 php封裝數(shù)據(jù)庫操作
轉(zhuǎn)載來源:http://www.dlmjj.cn/article/doejjpd.html