我建議一下吧,文本數(shù)據(jù)庫(kù)的例子本來(lái)太多,但是為了邏輯簡(jiǎn)化,最好通過(guò)專(zhuān)門(mén)接口實(shí)現(xiàn)文件與數(shù)據(jù)的轉(zhuǎn)換,可以采用我下面的模板編寫(xiě):
我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、察隅ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的察隅網(wǎng)站制作公司
?php
//文件最前面定義兩個(gè)全局變量,數(shù)據(jù)庫(kù)文件名和用戶(hù)數(shù)組
$pwd_db_file='db.txt';
$UserPassword=array();
//下面的pwd_db_read函數(shù),把文件內(nèi)容讀入到全局?jǐn)?shù)組中
function pwd_db_read(){
global $pwd_db_file, $UserPassword;
$fp=fopen($pwd_db_file,'r');
while ($s=fgets($fp)){
list($usr,$pwd)=explode('|', $s);
$UserPassword[$usr]=$pwd;
}
fclose($fp);
}
//下面的pwd_db_write函數(shù)保存數(shù)組內(nèi)容到文件中
function pwd_db_write(){
global $pwd_db_file, $UserPassword;
fp=fopen($pwd_db_file, 'w');
foreach ($UserPassword as $usr=$pwd)
fputs($fp,"$usr|$pwd\n");
fclose($fp);
}
//有了上面的全局變量和函數(shù),要寫(xiě)什么功能都簡(jiǎn)單
//下面假釋本腳本調(diào)用的時(shí)候通過(guò)reg.php?job=adduser=...pass=...
//的格式進(jìn)行調(diào)用,job為add表示添加用戶(hù),del表示刪除,modi表示修改
//另外的user和pass表示用戶(hù)名或者密碼,job不是以上內(nèi)容表示登錄
//主程序一開(kāi)始就打開(kāi)數(shù)據(jù)庫(kù)
pwd_db_read();
//下面判斷功能
if ($jon=='add'){
if (array_key_exists($user,$UserPassword)) echo "用戶(hù) $user 已經(jīng)存在!"
else $UserPassword[$user]=$pass;//就一句話(huà),簡(jiǎn)單吧
}elseif (job=='del'){
unset($UserPassword[$user]);//你自己考慮編寫(xiě)是否確認(rèn)刪除的內(nèi)容
}elseif ($job=='modi'){
if (array_key_exists($user,$UserPassword)) $UserPassword[$user]=$pass;//和添加是不是有點(diǎn)類(lèi)似
else echo "用戶(hù) $user 不存在!"
}else{
if ($UserPassword[$user]==$pass){
echo '密碼正確。';
//接下來(lái)可能要做許多事情
}else echo '密碼錯(cuò)誤!';
}
//程序最后保存數(shù)據(jù)庫(kù)修改
pwd_db_write();
?
看得懂嗎,沒(méi)有上機(jī)調(diào)試,語(yǔ)法問(wèn)題可能難免,如果發(fā)現(xiàn)不明白的問(wèn)題請(qǐng)補(bǔ)充。
大概的基本流程如下:
連接數(shù)據(jù)庫(kù),再加一個(gè)判斷。
選擇數(shù)據(jù)庫(kù)
讀取表
輸出表中數(shù)據(jù)
下面是代碼:
?php
$con = mysql_connect("localhost","root","abc123");
/* localhost 是服務(wù)器 root 是用戶(hù)名?abc123 是密碼*/?
if (!$con)
{
die("數(shù)據(jù)庫(kù)服務(wù)器連接失敗");
}
/*?這就是一個(gè)邏輯非判斷,如果錯(cuò)誤就輸出括號(hào)里的字符串 */?
@mysql_select_db("a",?$con);?
/*?選擇mysql服務(wù)器里的一個(gè)數(shù)據(jù)庫(kù),假設(shè)你的數(shù)據(jù)庫(kù)名為?a*/
$sql?=?"SELECT?*?FROM qq";?
/* 定義變量sql,?"SELECT?*?FROM?qq" 是SQL指令,表示選取表qq中的數(shù)據(jù)?*/
$result = mysql_query($sql); //執(zhí)行SQL語(yǔ)句,獲得結(jié)果集
/*下面就是選擇性的輸出打印了,由于不清楚你的具體情況給你個(gè)表格打印吧*/
//打印表格?
echo "table border=1";?
while( $row = mysql_fetch_array($result) )
/*逐行獲取結(jié)果集中的記錄,得到數(shù)組row?*/
{ ?
/*數(shù)組row的下標(biāo)對(duì)應(yīng)著數(shù)據(jù)庫(kù)中的字段值?*/
$id = $row['id'];?
$name = $row['name'];?
$sex = $row['sex'];?
echo "tr";?
echo "td$id/td";?
echo "td$name/td";?
echo "td$sex/td";?
echo "/tr";?
}?
echo "table /";
?
如果你的switch是表頭,就定義這個(gè)表頭字段,然后輸出。
連接到一個(gè)?url?地址為localhost?、?端口為?3306?的mysql服務(wù)器上。mysql服務(wù)器的帳號(hào)是"root",密碼是"9999"。mysql?服務(wù)器上有一個(gè)數(shù)據(jù)庫(kù)?ok?,?數(shù)據(jù)庫(kù)里有一個(gè)表?abc。表?abc?一共為兩列,列名分別是?"id"?和?"name"?,將?abc?里的所有數(shù)據(jù)讀出來(lái)。
??
$dbh?=?@mysql_connect("localhost:3306","root","9999");?
/*?定義變量dbh?,?mysql_connect()函數(shù)的意思是連接mysql數(shù)據(jù)庫(kù),?"@"的意思是屏蔽報(bào)錯(cuò)?*/?
if(!$dbh){die("error");}?
/*?die()函數(shù)的意思是將括號(hào)里的字串送到瀏覽器并中斷PHP程式?(Script)。括號(hào)里的參數(shù)為欲送出的字串。?*/?
@mysql_select_db("ok",?$dbh);?
/*?選擇mysql服務(wù)器里的一個(gè)數(shù)據(jù)庫(kù),這里選的數(shù)據(jù)庫(kù)名為?ok?*/?
$q?=?"SELECT?*?FROM?abc";?
/*?定義變量q,?"SELECT?*?FROM?abc"是一個(gè)SQL語(yǔ)句,意思是讀取表abc中的數(shù)據(jù)?*/?
??
br?/?
!--=========?方法一?=========--?
br?/?
??
$rs?=?mysql_query($q,?$dbh);?
/*?定義變量?rs?,函數(shù)mysql_query()的意思是:送出?query?字串供?MySQL?做相關(guān)的處理或者執(zhí)行.由于php是從右往左執(zhí)行的,所以,rs的值是服務(wù)器運(yùn)行mysql_query()函數(shù)后返回的值?*/?
if(!$rs){die("Valid?result!");}?
echo?"table";?
echo?"trtdID/tdtdName/td/tr";?
while($row?=?mysql_fetch_row($rs))?echo?"trtd$row[0]/tdtd$row[1]/td/tr";?
/*?定義量變(數(shù)組)row,并利用while循環(huán),把數(shù)據(jù)一一寫(xiě)出來(lái).??
函數(shù)mysql_fetch_row()的意思是:將查詢(xún)結(jié)果$rs單列拆到陣列變數(shù)中.??
$row[0]?和?$row[1]?的位置可以換*/?
echo?"/table";?
??
br?/?
!--=========?方法二?=========--?
br?/?
??
$rs?=?mysql_query($q,?$dbh);?
while($row?=?mysql_fetch_object($rs))?echo?"$row-id?$row-name?br?/";?
/*?id和name可以換位置?*/?
??
br?/?
!--=========?方法三?=========--?
br?/?
??
$rs?=?mysql_query($q,?$dbh);?
while($row?=?mysql_fetch_array($rs))?echo?"$row[id]?$row[name]?br?/";?
/*?id和name可以換位置?*/?
??
!--=========?方法三最快?=========--?
??
@mysql_close($dbh);?
/*?關(guān)閉到mysql數(shù)據(jù)庫(kù)的連接?*/?
?
?php
//建立數(shù)據(jù)庫(kù)鏈接,
mysql_connect("localhost",?"mysql_user",?"mysql_password")?or
die("Could?not?connect:?"?.?mysql_error());
//選擇數(shù)據(jù)庫(kù)
mysql_select_db("mydb");
//查詢(xún)sql語(yǔ)句
$result?=?mysql_query("SELECT?id,?name?FROM?mytable");
//輸出查詢(xún)結(jié)果
while?($row?=?mysql_fetch_array($result))?{
echo?$row['id']?,"br?/",?$row['name'];??
}
//釋放結(jié)果內(nèi)存
mysql_free_result($result);
?
數(shù)據(jù)庫(kù)的讀取能一次查詢(xún)完成的盡量不要分成多次查詢(xún)
不知道你用的是什么框架,如果有where_in方法的話(huà)可以用它來(lái)解決,先要構(gòu)造出order_sn值的數(shù)組
沒(méi)有的話(huà)就自己構(gòu)造'or'條件字符串,然后用where一次查詢(xún)完成
首先,檢查你這幾個(gè)參數(shù)是否確實(shí)設(shè)置正確:
$dbhost
=
'localhost';
//數(shù)據(jù)庫(kù)
主機(jī)地址
$dbuser
=
'admin';
//mysql
用戶(hù)名
$dbpass
=
'admin';
//mysql
密碼
$dbname
=
'admin';
//mysql庫(kù)名
另外,mysql_close();
這句已經(jīng)把數(shù)據(jù)庫(kù)連接關(guān)閉了因此后面對(duì)數(shù)據(jù)庫(kù)的操作都不能成功。
分享名稱(chēng):PHP怎么快速讀取數(shù)據(jù)庫(kù),php怎么快速讀取數(shù)據(jù)庫(kù)的數(shù)據(jù)
網(wǎng)站路徑:http://chinadenli.net/article12/heedgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、Google、響應(yīng)式網(wǎng)站、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、企業(yè)建站、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)