2010-08-03 38 views
0

我有一個用戶可以擁有多個權限(查看,編輯,刪除,創建)的網站。它們中的每一個都作爲tinyint(1)字段存儲在數據庫中。在PHP中查詢MySQL權限

我正在尋找最好的(最快?)方法來查詢MySQL,看看用戶是否有能力看到這個頁面。這裏是一個片段:

$user = mysql_real_escape_string($user); 
$resultset = mysql_query("SELECT view FROM testbankAccess WHERE uid LIKE $user"); 
while($result = mysql_fetch_row($resultset)) { 
    if($result[0]=='1') { return true; } 
} 
return false; 
+1

...有什麼問題呢?它工作嗎? – FrustratedWithFormsDesigner 2010-08-03 13:43:40

回答

0
$resultset = mysql_query("SELECT view FROM testbankAccess WHERE uid=$user LIMIT 1"); 
$result = mysql_fetch_row($resultset) 
if($result[0]==1) { return true; } 

我想這不可能是快(有幾乎沒有發生在這裏),只要UID是表中的一個關鍵。

2

首先,它可能比使用=的uid和$ user更快,而使用LIKE

然後,因爲你只對第一個結果感興趣,所以你不需要循環它們。

$result = mysql_fetch_row($resultset); 
return $result[0] == 1;