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