我想用一個函數從數據庫中返回一個簡單的值,雖然這通常很容易,但我有一些困難。我嘗試了幾種不同的混合物,但都沒有成功,所以我決定轉向這個社區尋求幫助。MYSQL + PHP可變的選擇值
這個概念是一個數據庫結構與被分配了權限的pagetypes排名。
這個例子當前列:秩/ modreports/plreports
數據示例:管理員/ 1/1
function CheckPermission($module){
$GetPerms = mysql_query("SELECT * FROM `permissions` WHERE `rank` = '".$MyDetails['group']."' LIMIT 1");
$MyPerm = mysql_fetch_array($GetPerms);
if($MyPerm[$module] != 1){
echo 'DEBUG: '.$MyPerm[$module];
//redirect("index.php?resp=perms");
die();
}
}
使用例:
CheckPermissions(modreports);
上面的用法應該返回DEBUG:1在此階段或完全沒有顯示(最好是第二個),而不是顯示DEBUG:。 $ MyPerm ['modreports']將返回正確的值,所以我認爲它是變量,我只在$ _POST ['']在過去使用的變量。
感謝您的幫助,我希望我已經提供了足夠的信息來獲得一些幫助。
爲了響應幫助,這是已更正的代碼;
function CheckPermission($module,$group){
$GetPerms = mysql_query("SELECT * FROM `permissions` WHERE `rank` = '".$group."' LIMIT 1");
$MyPerm = mysql_fetch_array($GetPerms);
if($MyPerm[$module] != 1){
redirect("index.php?resp=perms");
die();
}
}
你需要在你的mysql查詢操作中添加一些基本的錯誤句柄到這段代碼。這會立即說明你的問題。我也強烈建議你寫查詢到一個變量和'var_dump'該變量。你的問題再次變得明顯。最後,如果您在各個級別都開啓了錯誤報告功能,那麼您會在此處收到通知,指出您也會遇到問題。總而言之,最大的問題是您需要真正關注如何處理代碼調試,處理邊緣/錯誤情況以及在開發時始終關注錯誤消息。 –
@MikeBrant謝謝,在其他情況下,我通常會這樣做,這就是爲什麼最後一次發生這個問題我自我解決。我這次代表完全忽略了。 – Tarquin