access的中文版默認(rèn)是GBK格式的,是無(wú)法改變字符類型的,所以用php讀取的時(shí)候會(huì)亂碼。
創(chuàng)新互聯(lián)建站從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元富平做網(wǎng)站,已為上家服務(wù),為富平各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
解決方法是:使用iconv轉(zhuǎn)換
一、使用 iconv函數(shù)制作一個(gè)轉(zhuǎn)碼的自定義從GBK轉(zhuǎn)到UTF-8的函數(shù),如以下代碼:
function enc($c){return iconv('gbk','utf-8',$c);}
二、為了寫入數(shù)據(jù)庫(kù)的編碼是符合數(shù)據(jù)庫(kù)需要的,所以我們還要制作一個(gè)從UTF-8轉(zhuǎn)向GBK的函數(shù):
function dec($c){return iconv('utf-8','gb2312',$c);}
制作好了轉(zhuǎn)碼函數(shù),接下就是正常使用了。在從數(shù)據(jù)庫(kù)里面調(diào)數(shù)據(jù)顯示在頁(yè)面的時(shí)候使用enc()函數(shù),從頁(yè)面提交數(shù)據(jù)到數(shù)據(jù)庫(kù)時(shí)使用dec()函數(shù),這樣就可以很好的解決PHP使用UTF-8編碼,ACCESS使用系統(tǒng)默認(rèn)編碼的問(wèn)題了。
獲取ppq數(shù)據(jù)庫(kù)的所有表名的代碼:
?php
$server='localhost';
$user='root';
$pass='12345';
$dbname='ppq';
$conn=mysql_connect($server,$user,$pass);
if(!$conn)
die("數(shù)據(jù)庫(kù)系統(tǒng)連接失敗!");
$result=mysql_list_tables($dbname);
if(!$result)
die("數(shù)據(jù)庫(kù)連接失?。?);
while($row=mysql_fetch_row($result))
{
echo
$row[0]."
";
}
mysql_free_result($result);
?
mysql_list_tables
(PHP
3,
PHP
4
,
PHP
5)
mysql_list_tables
--
列出
MySQL
數(shù)據(jù)庫(kù)中的表
說(shuō)明
resource
mysql_list_tables
(
string
database
[,
resource
link_identifier])
mysql_list_tables()
接受一個(gè)數(shù)據(jù)庫(kù)名并返回和
mysql_query()
函數(shù)很相似的一個(gè)結(jié)果指針。用
mysql_fetch_array()或者用mysql_fetch_row()來(lái)獲得一個(gè)數(shù)組,數(shù)組的第0列就是數(shù)組名,當(dāng)獲取不到時(shí)
mysql_fetch_array()或者用mysql_fetch_row()返回
FALSE。
我建議一下吧,文本數(shù)據(jù)庫(kù)的例子本來(lái)太多,但是為了邏輯簡(jiǎn)化,最好通過(guò)專門接口實(shí)現(xiàn)文件與數(shù)據(jù)的轉(zhuǎn)換,可以采用我下面的模板編寫:
?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ù),要寫什么功能都簡(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]);//你自己考慮編寫是否確認(rèn)刪除的內(nèi)容
}elseif ($job=='modi'){
if (array_key_exists($user,$UserPassword)) $UserPassword[$user]=$pass;//和添加是不是有點(diǎn)類似
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ǔ)充。
標(biāo)題名稱:php讀取數(shù)據(jù)庫(kù)系統(tǒng) php讀取mysql數(shù)據(jù)
當(dāng)前路徑:http://muchs.cn/article32/hhejpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、建站公司、搜索引擎優(yōu)化、App開(kāi)發(fā)、網(wǎng)站導(dǎo)航、全網(wǎng)營(yíng)銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容