基于mysql的bbs設(shè)計(jì)(三)
Jun 08, 2016 pm 05:33 PM對(duì)于底層數(shù)據(jù)庫,調(diào)用mysql的C API函數(shù)來進(jìn)行數(shù)據(jù)庫的修改,內(nèi)部保存
一定的狀態(tài)變量(例如用戶名,還是留給上一層完成?),對(duì)上一層,則提供
用戶管理的接口。
Class UserManage {
private:
char myuserid[20]; // 用戶的id,未登陸前為空
time logintime; // 用戶登陸時(shí)間,并用于計(jì)算停留時(shí)間
char loginhost[20]; //上站地點(diǎn)。
public:
int NewUser( char *userid, char *passwd );
新建一個(gè)用戶,判斷是否已經(jīng)有,其他資料暫時(shí)為空,
firstlogintime,權(quán)限等設(shè)缺省值。
int UserLogin( char *userid, char *passwd );
用戶登陸,驗(yàn)證密碼,
int ChangePasswd( char *oldpasswd, char *newpasswd );
修改密碼,要求原密碼一致。
int ChangePriData( char *newname, char *newemail,
char *newaddr );
改變基本數(shù)據(jù),泥稱,email,住址。。。。
int ModifyNumData( int addlogin, int addpost );
修改文章數(shù),上站次數(shù),等數(shù)據(jù)。。。。注意調(diào)用對(duì)象。
int UserLogout();
用戶退出,修改lastlogin,staytime,loginhost等
// 普通查詢命令
int QueryCommonData( const char * userid, int& loginnum,
char * username, int& postnum,
time& lastlogin, char *lasthost );
查詢網(wǎng)友基本信息。
// 特權(quán)指令,函數(shù)在完成功能前,先判斷權(quán)限。
int QueryPriData( const char * userid, char *email,
char *addr );
查詢基本信息,普通人只能查自己,有特權(quán)才能查其他人。
int ModifyUserLevel( BOOL isAdd, unsigned long level );
修改用戶的權(quán)限,
int ModifyUserId( char *oldid, char *newid );
char *newemail, char *newaddr );
修改用戶的基本數(shù)據(jù)。
int ModifyUserNumdata( char *userid, int addlogin, int addpost );
修改用戶的文章數(shù)等數(shù)據(jù)。
int ModifyUserPasswd( char *userid, char *newpasswd );
修改用戶的密碼。
}
以上各個(gè)函數(shù)難度不大,都是執(zhí)行相應(yīng)的sql語句,訪問mysql數(shù)據(jù)庫,
是否將一般指令歸到特權(quán)指令中去呢?權(quán)限的檢查,是放在這一層還是上一層?
這更多的是看考慮的著重點(diǎn),是看程序的清晰性還是代碼的簡練,可能還是
看代碼吧,畢竟要考慮訪問量,另外,上層服務(wù)層是否也應(yīng)該考慮權(quán)限檢查
問題呢?

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

PHP中int類型轉(zhuǎn)換為位元組的方法詳解在PHP中,我們經(jīng)常需要將整數(shù)類型(int)轉(zhuǎn)換為位元組(Byte)類型,例如在處理網(wǎng)路資料傳輸、檔案處理或加密演算法等場景中。本文將詳細(xì)介紹如何將int類型轉(zhuǎn)換為位元組類型,以及提供具體的程式碼範(fàn)例。 1.int型別與位元組的關(guān)係在電腦領(lǐng)域,基本資料型別int表示整數(shù),而位元組(Byte)是電腦儲(chǔ)存單位,通常是8位元二進(jìn)位數(shù)據(jù)

int32的取值範(fàn)圍是從-2的31次方到2的31次方減1,即-2147483648到2147483647。 int32是有符號(hào)的整數(shù)型,表示它可以表示正數(shù)、負(fù)數(shù)和零,它使用1位來表示符號(hào)位,而剩餘的31位元用來表示數(shù)值。由於一位用來表示符號(hào)位,所以int32的有效位數(shù)是31位元。

在C++中,int型別的變數(shù)只能保存正整數(shù)或負(fù)整數(shù)值;它們不能保存小數(shù)值。有float和double值可用於此目的。為了儲(chǔ)存小數(shù)點(diǎn)後最多七位的小數(shù),創(chuàng)建了雙精度資料類型。整數(shù)到雙精確度資料類型的轉(zhuǎn)換可以由編譯器自動(dòng)完成(稱為「隱式」轉(zhuǎn)換),也可以由程式設(shè)計(jì)師向編譯器明確要求(稱為「明確」轉(zhuǎn)換)。在接下來的部分中,我們將介紹各種轉(zhuǎn)換方法。隱式轉(zhuǎn)換編譯器會(huì)自動(dòng)執(zhí)行隱式類型轉(zhuǎn)換。要實(shí)現(xiàn)這一點(diǎn),需要兩個(gè)變數(shù)——一個(gè)是浮點(diǎn)類型,另一個(gè)是整數(shù)類型。當(dāng)我們簡單地將浮點(diǎn)值或變數(shù)分配給整數(shù)變數(shù)時(shí),編譯器將處理所有其他事情

轉(zhuǎn)換方法:1、使用Itoa()函數(shù),語法「strconv.Itoa(num)」;2、使用FormatInt()函數(shù),可將int型資料轉(zhuǎn)換成指定進(jìn)位並以字串的形式傳回,語法「strconv .FormatInt(num,10)」。

在java中,int是32位元有符號(hào)資料類型,其變數(shù)需要32位元記憶體;int資料類型的有效範(fàn)圍為-2147483648至2147483647,此範(fàn)圍中的所有整數(shù)稱為整數(shù)面量。一個(gè)整數(shù)字面量可以分配給一個(gè)int變量,例如“int num1 = 21;”。

int型別在不同程式語言和不同硬體平臺(tái)下所佔(zhàn)用的位元組數(shù)可能會(huì)有所不同。詳細(xì)介紹:1、在C語言中,int類型通常佔(zhàn)用2個(gè)位元組或4個(gè)位元組。在32位元系統(tǒng)中,int型別佔(zhàn)用4個(gè)位元組,而在16位元系統(tǒng)中,int型別佔(zhàn)用2個(gè)位元組。在64位元系統(tǒng)中,int型別可能佔(zhàn)用8個(gè)位元組;2、在Java中,int型別通常佔(zhàn)用4個(gè)位元組,而在Python中,int型別沒有位元組數(shù)限制,可以自動(dòng)調(diào)整等等。

在編寫PHP程式時(shí),經(jīng)常需要使用int類型來儲(chǔ)存整數(shù)資料。但是,不同的程式語言在儲(chǔ)存資料時(shí),佔(zhàn)用的位元組數(shù)可能會(huì)有所不同。因此,有些PHP程式設(shè)計(jì)師可能會(huì)問:PHP中的int型別到底佔(zhàn)用多少個(gè)位元組?

int佔(zhàn)4個(gè)位元組,意味著一個(gè)int變數(shù)可以儲(chǔ)存範(fàn)圍在-2,147,483,648到2,147,483,647之間的整數(shù)值,在某些情況下也可能是2個(gè)位元組或8個(gè)位元組,int是一種常用的資料類型,用於表示整數(shù),需要根據(jù)具體情況選擇合適的資料類型,以確保程式的正確性和效能。
