?php
創(chuàng)新互聯(lián)建站長期為成百上千客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為永城企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站制作,永城網(wǎng)站改版等技術服務。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
/**
*
@param
string
$url
地址url
*
@return
$array
返回url對應的id
*/
function
getid($url){
//連接數(shù)據(jù)庫
mysql_connect('localhost','root','user')
or
die('數(shù)據(jù)庫鏈接失敗');
//不清楚數(shù)據(jù)庫名稱,這里用dbname代表數(shù)據(jù)庫名稱。需要替換為實際的數(shù)據(jù)庫名稱
mysql_select_db('dbname');
mysql_query('set
names
utf8');//如果頁面編碼是utf-8的。這里設置查詢的編碼為utf-8
$sql
=
"select
`id`
from
`visitor`
where
`file`='{$url}'";
$result
=
mysql_query($sql);
//不清楚url是不是會重復,這里循環(huán)可以保證得到所有的id
while($row
=
mysql_fetch_assoc($result)){
$id[]
=
$row['id']
}
//如果url不會重復則使用$id[0],如果會重復則循環(huán)$id就可以得到每個id了。
return
$id;
}
008. 數(shù)據(jù)庫的數(shù)據(jù)查詢
本節(jié)課我們來了解一下數(shù)據(jù)庫的數(shù)據(jù)查詢方式,單數(shù)據(jù)、數(shù)據(jù)集和其它查詢。
一.單數(shù)據(jù)查詢
1. Db::table()中table必須指定完整數(shù)據(jù)表(包括前綴);
2. 如果希望只查詢一條數(shù)據(jù),可以使用find()方法,需指定where條件;
Db::table('tp_user')-where('id', 27)-find()
3. Db::getLastSql()方法,可以得到最近一條SQL查詢的原生語句;
SELECT * FROM `tp_user` LIMIT 1
4. 沒有查詢到任何值,則返回null;
5. 使用findOrFail()方法同樣可以查詢一條數(shù)據(jù),在沒有數(shù)據(jù)時拋出一個異常;
Db::table('tp_user')-where('id', 1)-findOrFail()
6. 使用findOrEmpty()方法也可以查詢一條數(shù)據(jù),但在沒有數(shù)據(jù)時返回一個空數(shù)組;
7. Db::table('tp_user')-where('id', 1)-findOrEmpty();
二.數(shù)據(jù)集查詢
1. 想要獲取多列數(shù)據(jù),可以使用select()方法;
Db::table('tp_user')-select(); SELECT * FROM `tp_user`
2. 多列數(shù)據(jù)在查詢不到任何數(shù)據(jù)時返回空數(shù)組,使用selectOrFail()拋出異常; Db::table('tp_user')-where('id', 1)-selectOrFail();
3. 在select()方法后再使用toArray()方法,可以將數(shù)據(jù)集對象轉(zhuǎn)化為數(shù)組;
4. 當在數(shù)據(jù)庫配置文件中設置了前綴,那么我們可以使用name()方法忽略前綴; Db::name('user')-select();
三.其它查詢
1. 通過value()方法,可以查詢指定字段的值(單個),沒有數(shù)據(jù)返回null;
Db::name('user')-where('id', 27)-value('username');
$user = Db::table('tp_user')-select()-toArray(); dump($user);
2. 通過colunm()方法,可以查詢指定列的值(多個),沒有數(shù)據(jù)返回空數(shù)組; Db::name('user')-column('username');
3. 可以指定id作為列值的索引;
4. 如果處理的數(shù)據(jù)量巨大,成百上千那種,一次性讀取有可能會導致內(nèi)存開銷過大;
5. 為了避免內(nèi)存處理太多數(shù)據(jù)出錯,可以使用chunk()方法分批處理數(shù)據(jù);
6. 比如,每次只處理100條,處理完畢后,再讀取100條繼續(xù)處理;
7. 可以利用游標查詢功能,可以大幅度減少海量數(shù)據(jù)的內(nèi)存開銷,它利用了PHP生成器特性。每次查詢只讀一行,然后再讀取時,自動定位到下一行繼續(xù)讀取;
Db::name('user')-column('username', 'id');
Db::table('tp_user')-chunk(3, function($users) { foreach ($users as $user) {
dump($user);
}
echo 1; });
$cursor = Db::table('tp_user')-cursor(); foreach($cursor as $user){
dump($user);
}
在使用php session進行數(shù)據(jù)查詢時主要有3中方法。第一種是使用函數(shù)【mysql_connect()】建立和MYSQL數(shù)據(jù)庫的連接。mysql_connect()是用來建立和MYSQL數(shù)據(jù)庫的連接,一共有5個參數(shù),一般情況下只使用前3個參數(shù),分別是MySQL服務器地址、用戶名以及密碼。第二種是使用函數(shù)【mysql_select_db()】指定要操作的數(shù)據(jù)庫。mysql_select_db()是用來指定要操作的數(shù)據(jù)庫。要是需要操作的數(shù)據(jù)庫還沒有創(chuàng)建,則需要創(chuàng)建數(shù)據(jù)庫,然后再創(chuàng)建數(shù)據(jù)庫中的表。第三種是使用函數(shù)【mysql_query()】查詢指令。mysql_query()是查詢指令的專用函數(shù),所有的SQL語句都通過它執(zhí)行,并返回結(jié)果集。一般情況下這三種方法是最適用的,希望可以解決你的問題。
分享文章:利用php查詢數(shù)據(jù)庫 php數(shù)據(jù)庫查詢系統(tǒng)
本文來源:http://www.rwnh.cn/article44/doppgee.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、小程序開發(fā)、建站公司、網(wǎng)頁設計公司、軟件開發(fā)、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)