我建議一下吧,文本數(shù)據(jù)庫(kù)的例子本來(lái)太多,但是為了邏輯簡(jiǎn)化,最好通過(guò)專門(mén)接口實(shí)現(xiàn)文件與數(shù)據(jù)的轉(zhuǎn)換,可以采用我下面的模板編寫(xiě):
成都創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、石屏網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開(kāi)發(fā)、商城系統(tǒng)網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為石屏等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
?php
//文件最前面定義兩個(gè)全局變量,數(shù)據(jù)庫(kù)文件名和用戶數(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表示添加用戶,del表示刪除,modi表示修改
//另外的user和pass表示用戶名或者密碼,job不是以上內(nèi)容表示登錄
//主程序一開(kāi)始就打開(kāi)數(shù)據(jù)庫(kù)
pwd_db_read();
//下面判斷功能
if ($jon=='add'){
if (array_key_exists($user,$UserPassword)) echo "用戶 $user 已經(jīng)存在!"
else $UserPassword[$user]=$pass;//就一句話,簡(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 "用戶 $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ǔ)充。
下面的代碼試試看吧:
?php
mysql_connect('數(shù)據(jù)庫(kù)地址','數(shù)據(jù)庫(kù)用戶名','數(shù)據(jù)庫(kù)密碼');
$sql='select * from 數(shù)據(jù)庫(kù)名.表名';
if ($res=mysql_query($sql)){
echo 'table';
while ($row=mysql_fetch_row($res)) echo 'trtd'.join('td',$row);
mysql_free_result($res);
echo '/table';
}else echo "執(zhí)行:$sqlBR錯(cuò)誤:".mysql_error();
mysql_close();
?
連接到一個(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()的意思是:將查詢結(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ù)的連接?*/?
?
1.看看密碼是否被加密。
2.list($key,$value)=each($arr);
!!是 list($Uname,$Pwd)=mysql_fetch_row($result); 的錯(cuò)誤:
mysql_fetch_row($result) 返回一個(gè)數(shù)組
正確格式是:list($Uname,$Pwd)=each(mysql_fetch_row($result));
?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");
//查詢sql語(yǔ)句
$result?=?mysql_query("SELECT?id,?name?FROM?mytable");
//輸出查詢結(jié)果
while?($row?=?mysql_fetch_array($result))?{
echo?$row['id']?,"br?/",?$row['name'];??
}
//釋放結(jié)果內(nèi)存
mysql_free_result($result);
?