十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
在一個服務(wù)器上一般來講都不止一個站點,更不止一個MySQL(和PHP搭配之最佳組合)數(shù)據(jù)庫。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),新羅企業(yè)網(wǎng)站建設(shè),新羅品牌網(wǎng)站建設(shè),網(wǎng)站定制,新羅網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,新羅網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
為了防止安全隱患,我們一般針對每個數(shù)據(jù)庫都設(shè)置了獨(dú)立的數(shù)據(jù)庫訪問帳號,該帳號僅有訪問該數(shù)據(jù)庫的權(quán)限。下面就讓我們來具體演示一下:
1、首先我們要登陸php(做為現(xiàn)在的主流開發(fā)語言)MyAdmin,不做演示。
2、創(chuàng)建一個數(shù)據(jù)庫,如下圖,在php(做為現(xiàn)在的主流開發(fā)語言)MyAdmin右邊窗口中,填寫數(shù)據(jù)庫名稱,點創(chuàng)建即可。
例如我們這里創(chuàng)建一個名字為:cncmstest 的數(shù)據(jù)庫
創(chuàng)建成功會有如下提示:
3、點擊左上角的主頁按鈕,返回php(做為現(xiàn)在的主流開發(fā)語言)MyAdmin主界面:
4、在主界面的右邊點擊“權(quán)限”來創(chuàng)建數(shù)據(jù)庫帳號。
5、在權(quán)限頁面中,我們點擊“添加新用戶”
6、在該頁面中,我們填寫要創(chuàng)建的數(shù)據(jù)庫用戶名,該用戶的訪問范圍,及密碼。
如上圖,我們填寫了用戶名為:cncmsuser,該數(shù)據(jù)庫用戶只允許本機(jī)訪問,主機(jī)一項選擇本地;密碼我們使用自動生成的,點下面的“Generate”會生成一個隨機(jī)密碼,然后點“Copy”會自動填寫到密碼框中。
下面的框都不選,直接拉到頁面最下面點執(zhí)行即可創(chuàng)建一個新用戶。
數(shù)據(jù)庫用戶創(chuàng)建成功,會返回如下頁面:
7、最重要的一步,設(shè)置該用戶的數(shù)據(jù)庫訪問權(quán)限
在數(shù)據(jù)庫用戶添加成功返回的頁面中可以直接設(shè)置權(quán)限。這里我們選擇按數(shù)據(jù)庫指定權(quán)限:
如上圖,在數(shù)據(jù)庫列表中選擇我們剛剛創(chuàng)建的cncmstest,即會自動進(jìn)入該數(shù)據(jù)庫的權(quán)限設(shè)置頁面。
在上圖的權(quán)限設(shè)置中,我們把“數(shù)據(jù)”、“結(jié)構(gòu)”兩列的權(quán)限全部選中,管理權(quán)限都不要選。點執(zhí)行即可。
到這里,我們已經(jīng)全部設(shè)置完畢了,創(chuàng)建了一個數(shù)據(jù)庫:cncmstest,并創(chuàng)建了數(shù)據(jù)庫用戶cncmsuser,特別指定了該用戶只對cncmstest的訪問權(quán)限。如此,便達(dá)到了我們一開始所講的目的:為每一個數(shù)據(jù)庫指定獨(dú)立的用戶訪問權(quán)限。
把來自表單的數(shù)據(jù)插入數(shù)據(jù)庫
現(xiàn)在,我們創(chuàng)建一個 HTML 表單,這個表單可把新記錄插入 "Persons" 表。
這是這個 HTML 表單:
1
2
3
4
5
6
7
8
9
10
11
12
html
body
form action="insert.php" method="post"
Firstname: input type="text" name="firstname" /
Lastname: input type="text" name="lastname" /
Age: input type="text" name="age" /
input type="submit" /
/form
/body
/html
當(dāng)用戶點擊上例中 HTML 表單中的提交按鈕時,表單數(shù)據(jù)被發(fā)送到 "insert.php"。"insert.php" 文件連接數(shù)據(jù)庫,并通過 $_POST 變量從表單取回值。然后,mysql_query() 函數(shù)執(zhí)行 INSERT INTO 語句,一條新的記錄會添加到數(shù)據(jù)庫表中。
下面是 "insert.php" 頁面的代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$sql="INSERT INTO Persons (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?
再安裝一個PHPMYADMIN,可以交互式的創(chuàng)建數(shù)據(jù)庫,否則你建議數(shù)據(jù)庫要寫大量的SQL命令。
補(bǔ)充:我來回答你MYSQL的數(shù)據(jù)庫是什么形式?
看來ACCESS確實太毒害人了,讓初學(xué)者以為數(shù)據(jù)庫就是.MDB或者.DBF這樣的問題,鼠標(biāo)雙擊就可以調(diào)用相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)打開,在里面完成數(shù)據(jù)庫表以及數(shù)據(jù)庫數(shù)據(jù)的操作。其實真正的數(shù)據(jù)庫都不是這樣的。
數(shù)據(jù)庫應(yīng)該是一種服務(wù),比如SYBASE、ORACLE、MYSQL、MSSQL這些,安裝這些軟件以后,你的機(jī)器啟動數(shù)據(jù)庫服務(wù)以后,會偵聽一個TCP端口,其它客戶端程序可以用任何語言開發(fā),只要鏈接到這個端口,提供正確的用戶名和密碼,就可以依照數(shù)據(jù)庫管理員設(shè)定的權(quán)限,通過TCP網(wǎng)絡(luò)提交SQL語句進(jìn)行數(shù)據(jù)庫建立、數(shù)據(jù)輸入、數(shù)據(jù)修改、統(tǒng)計查詢等應(yīng)用。
MYSQL是真正意義的數(shù)據(jù)庫,它偵聽3306端口,PHP、ODBC等程序可以鏈接這個端口,通過SQL交互完成數(shù)據(jù)操作。PHPMYADMIN是一組PHP文件,提供網(wǎng)頁方式界面,讓大家方便的查看數(shù)據(jù)以及進(jìn)行庫表維護(hù)等其它操作。
數(shù)據(jù)庫程序設(shè)計人員不關(guān)心數(shù)據(jù)庫的數(shù)據(jù)具體以什么形式存放在哪里,許多高級數(shù)據(jù)庫甚至沒有文件,他們直接使用硬盤,用自己的格式分區(qū)和格式化,比如INFORMIX。只有這樣,我們才可以以任意語言寫程序,而程序適應(yīng)任意的數(shù)據(jù)庫環(huán)境。
只有數(shù)據(jù)庫管理人員在隨時關(guān)心數(shù)據(jù)庫的數(shù)據(jù)存放在什么地方,以便進(jìn)行風(fēng)險防范和數(shù)據(jù)備份。MYSQL的數(shù)據(jù)存放在數(shù)據(jù)目錄下,默認(rèn)是MYSQL安裝目錄下的DATA目錄下,一般都會修改到其它分區(qū)。具體是什么文件與選擇的存在格式有關(guān),MYISAM格式是一個數(shù)據(jù)庫一個目錄,里面一個表有幾個文件。
推薦問題里又見到你的問題了。。呵呵
你的意思就是普通用戶有幾種權(quán)限。我拿管理員來說吧,超級管理員可以有增加用戶,增加信息,增加新聞幾種權(quán)限,普通管理員只有可以增加信息。
先從數(shù)據(jù)庫寫一個表,表信息如下
你可以設(shè)一個表
CREATE TABLE `admin` (
`id` int(11) NOT NULL auto_increment,
`adminname` varchar(11) default NULL,
`password` varchar(100) default NULL,
`userflag` int(1) default 0, //增加用戶的權(quán)限,0是沒有權(quán)限,1是有權(quán)限
`newsflag` int(1) default 0, //增加新聞的權(quán)限,0是沒有權(quán)限,1是有權(quán)限
`messageflag` int(1) default 0 //增加信息的權(quán)限,0是沒有權(quán)限,1是有權(quán)限
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
超級管理員你可以直接在數(shù)據(jù)庫里增加一個 userflag ,newsflag,messageflag全部是1
test.PHP
判斷是否有權(quán)限
define("DB_ADDRESS","localhost");
define("DB_USER","root");
define("DB_PWD","123456");
define("DB","library");
mysql_connect(DB_ADDRESS,DB_USER,DB_PWD);
mysql_select_db(DB);
$result=mysql_query("select from admin where name="", and password=""");
$row=mysql_fetch_array($result);
if($row['userflag']==1 $row['messageflag']==1 $row['newsflag']==1)
{
echo "你是超級管理員" ;
}
if($row['userflag']==1 ){
echo "你是可以增加用戶的管理員" ;
}
希望你能明白了