直接調(diào)用就行了,不過可能你需要引用文件,以下是例子
成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括東河網(wǎng)站建設(shè)、東河網(wǎng)站制作、東河網(wǎng)頁(yè)制作以及東河網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,東河網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到東河省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
//文件conn.php,用于連接數(shù)據(jù)庫(kù)
class
DB_Conn
{
}
//文件
db.php,
用于數(shù)據(jù)庫(kù)操作,這個(gè)類必然需要使用數(shù)據(jù)庫(kù)連接對(duì)象,因此引用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();
}
}以上只是示意,如果文件不在一個(gè)目錄下記得修改路徑。而且,一般來(lái)說數(shù)據(jù)庫(kù)對(duì)象應(yīng)該包含連接數(shù)據(jù)庫(kù)和數(shù)據(jù)操作的全部功能,不需要分別寫在兩個(gè)類里面。我覺得你對(duì)面向?qū)ο蟮睦斫膺€很淺薄,需要進(jìn)一步累積經(jīng)驗(yàn)。
?php
mysql_connect("localhost","root","123456") //填寫mysql用戶名和密碼
or die("Could not connect to MySQL server!");
mysql_select_db("phpcms") //數(shù)據(jù)庫(kù)名
or die("Could not select database!");
mysql_query('set names "gbk"'); //數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)的編碼
?
這也能查到數(shù)據(jù)?.........
$sql = "SELECT * FROM `works` where `bg` = '$bg' order by id desc limit $offset,$size";
表名和字段名 用鍵盤1旁邊 Esc下面那個(gè)點(diǎn)包含(英文輸入法下) 而不是英文下的單引號(hào).
ThinkPHP內(nèi)置了抽象數(shù)據(jù)庫(kù)訪問層,把不同的數(shù)據(jù)庫(kù)操作封裝起來(lái),我們只需要使用公共的Db類進(jìn)行操作,而無(wú)需針對(duì)不同的數(shù)據(jù)庫(kù)寫不同的代碼和底層實(shí)現(xiàn),Db類會(huì)自動(dòng)調(diào)用相應(yīng)的數(shù)據(jù)庫(kù)驅(qū)動(dòng)來(lái)處理。目前的數(shù)據(jù)庫(kù)包括Mysql、SqlServer、PgSQL、Sqlite、Oracle、Ibase、Mongo,也包括對(duì)PDO的支持,如果應(yīng)用需要使用數(shù)據(jù)庫(kù),必須配置數(shù)據(jù)庫(kù)連接信息,數(shù)據(jù)庫(kù)的配置文件有多種定義方式。
常用的配置方式是在項(xiàng)目配置文件中添加下面的參數(shù):
?php
//項(xiàng)目配置文件
return array(
//數(shù)據(jù)庫(kù)配置信息
'DB_TYPE' = 'mysql', // 數(shù)據(jù)庫(kù)類型
'DB_HOST' = 'localhost', // 服務(wù)器地址
'DB_NAME' = 'thinkphp', // 數(shù)據(jù)庫(kù)名
'DB_USER' = 'root', // 用戶名
'DB_PWD' = '', // 密碼
'DB_PORT' = 3306, // 端口
'DB_PREFIX' = 'think_', // 數(shù)據(jù)庫(kù)表前綴
//其他項(xiàng)目配置參數(shù)
// ...
);
或者采用如下配置
'DB_DSN' = 'mysql://username:password@localhost:3306/DbName'
使用DB_DSN方式定義可以簡(jiǎn)化配置參數(shù),DSN參數(shù)格式為:
數(shù)據(jù)庫(kù)類型://用戶名:密碼@數(shù)據(jù)庫(kù)地址:數(shù)據(jù)庫(kù)端口/數(shù)據(jù)庫(kù)名
如果兩種配置參數(shù)同時(shí)存在的話,DB_DSN配置參數(shù)優(yōu)先。
注意:如果要設(shè)置分布式數(shù)據(jù)庫(kù),暫時(shí)不支持DB_DSN方式配置。1
如果采用PDO驅(qū)動(dòng)的話,則必須首先配置DB_TYPE 為pdo,然后還需要單獨(dú)配置其他參數(shù),例如:
//PDO連接方式
'DB_TYPE' = 'pdo', // 數(shù)據(jù)庫(kù)類型
'DB_USER' = 'root', // 用戶名
'DB_PWD' = '', // 密碼
'DB_PREFIX' = 'think_', // 數(shù)據(jù)庫(kù)表前綴
'DB_DSN' = 'mysql:host=localhost;dbname=thinkphp;charset=UTF-8'
注意:PDO方式的DB_DSN配置格式有所區(qū)別,根據(jù)不同的數(shù)據(jù)庫(kù)類型設(shè)置有所不同。
配置文件定義的數(shù)據(jù)庫(kù)連接信息一般是系統(tǒng)默認(rèn)采用的,因?yàn)橐话阋粋€(gè)項(xiàng)目的數(shù)據(jù)庫(kù)訪問配置是相同的。該方法系統(tǒng)在連接數(shù)據(jù)庫(kù)的時(shí)候會(huì)自動(dòng)獲取,無(wú)需手動(dòng)連接。
可以對(duì)每個(gè)項(xiàng)目和不同的分組定義不同的數(shù)據(jù)庫(kù)連接信息,如果開啟了調(diào)試模式的話,還可以在不同的應(yīng)用狀態(tài)的配置文件里面定義獨(dú)立的數(shù)據(jù)庫(kù)配置信息。1
第二種 在模型類里面定義connection屬性
如果在某個(gè)模型類里面定義了connection屬性的話,則實(shí)例化該自定義模型的時(shí)候會(huì)采用定義的數(shù)據(jù)庫(kù)連接信息,而不是配置文件中設(shè)置的默認(rèn)連接信息,通常用于某些數(shù)據(jù)表位于當(dāng)前數(shù)據(jù)庫(kù)連接之外的其它數(shù)據(jù)庫(kù),例如:
//在模型里單獨(dú)設(shè)置數(shù)據(jù)庫(kù)連接信息
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ù)庫(kù)連接信息,例如:
//數(shù)據(jù)庫(kù)配置1
'DB_CONFIG1' = array(
'db_type' = 'mysql',
'db_user' = 'root',
'db_pwd' = '1234',
'db_host' = 'localhost',
'db_port' = '3306',
'db_name' = 'thinkphp'
),
//數(shù)據(jù)庫(kù)配置2
'DB_CONFIG2' = 'mysql://root:1234@localhost:3306/thinkphp';
那么,我們可以把模型類的屬性定義改為:
//調(diào)用配置文件中的數(shù)據(jù)庫(kù)配置1
protected $connection = 'DB_CONFIG1';
//調(diào)用配置文件中的數(shù)據(jù)庫(kù)配置2
protected $connection = 'DB_CONFIG2';
如果采用的是M方法實(shí)例化模型的話,也可以支持傳入不同的數(shù)據(jù)庫(kù)連接信息,例如:
$User = M('User','other_','mysql://root:1234@localhost/demo');
表示實(shí)例化User模型,連接的是demo數(shù)據(jù)庫(kù)的other_user表,采用的連接信息是第三個(gè)參數(shù)配置的。如果我們?cè)陧?xiàng)目配置文件中已經(jīng)配置了DB_CONFIG2的話,也可以采用:
$User = M('User','other_','DB_CONFIG2');
如果你的個(gè)別數(shù)據(jù)表沒有定義任何前綴的話,可以在前綴參數(shù)中傳入NULL,例如:
$User = M('User',Null,'DB_CONFIG2');
表示實(shí)例化User模型,連接的是demo數(shù)據(jù)庫(kù)的user表。
需要注意的是,ThinkPHP的數(shù)據(jù)庫(kù)連接的惰性的,所以并不是在實(shí)例化的時(shí)候就連接數(shù)據(jù)庫(kù),而是在有實(shí)際的數(shù)據(jù)操作的時(shí)候才會(huì)去連接數(shù)據(jù)庫(kù)(額外的情況是,在系統(tǒng)第一次實(shí)例化模型的時(shí)候,會(huì)自動(dòng)連接數(shù)據(jù)庫(kù)獲取相關(guān)模型類對(duì)應(yīng)的數(shù)據(jù)表的字段信息)。
打開phpstorm,打開Database窗口,如下圖:
配置mysql連接,如下圖:
填寫mysql地址,用戶名,密碼,如果沒有安裝驅(qū)動(dòng),要先安裝驅(qū)動(dòng)
測(cè)試數(shù)據(jù)庫(kù)能否連接成功:
保存配置,保存時(shí),會(huì)提示設(shè)置密碼:
讀取數(shù)據(jù)庫(kù)表,及根據(jù)條件查詢修改: