1 頁 (共 1 頁)

[問題] 為什麼無法設定版面管理員

發表於 : 2005-03-09 01:11
fish206452
我將BB會員設為AA版的版面管理員,出現下列錯誤訊息\r

代碼: 選擇全部

Couldn't update private forum permissions

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax near ' 1)' at line 2

INSERT INTO phpbb_auth_access (forum_id, group_id, auth_mod) VALUES (3, , 1)

Line : 405
File : admin_ug_auth.php
●安裝MOD: 子分區2.0.5 RC2(最大嫌疑,因為把其他的MOD給拆了剩下子分區還是有問題)
http://starryhometown.net/forum/viewtopic.php?t=485
●PHP版本 : 2.0.13

請各位高手幫幫忙..

發表於 : 2005-03-09 01:11
fish206452
admin_ug_auth.php的374-406行

代碼: 選擇全部

					if ( $action == 'insert' )
					{
						$sql_field = '';
						$sql_value = '';
						while ( list($auth_type, $value) = @each($update_acl_status[$forum_id]) )
						{
							$sql_field .= ( ( $sql_field != '' ) ? ', ' : '' ) . $auth_type;
							$sql_value .= ( ( $sql_value != '' ) ? ', ' : '' ) . $value;
						}
						$sql_field .= ( ( $sql_field != '' ) ? ', ' : '' ) . 'auth_mod';
						$sql_value .= ( ( $sql_value != '' ) ? ', ' : '' ) . ( ( !isset($update_mod_status[$forum_id]) ) ? 0 : $update_mod_status[$forum_id]);

						$sql = "INSERT INTO " . AUTH_ACCESS_TABLE . " (forum_id, group_id, $sql_field) 
							VALUES ($forum_id, $group_id, $sql_value)";
					}
					else
					{
						$sql_values = '';
						while ( list($auth_type, $value) = @each($update_acl_status[$forum_id]) )
						{
							$sql_values .= ( ( $sql_values != '' ) ? ', ' : '' ) . $auth_type . ' = ' . $value;
						}
						$sql_values .= ( ( $sql_values != '' ) ? ', ' : '' ) . 'auth_mod = ' . ( ( !isset($update_mod_status[$forum_id]) ) ? 0 : $update_mod_status[$forum_id]);

						$sql = "UPDATE " . AUTH_ACCESS_TABLE . " 
							SET $sql_values 
							WHERE group_id = $group_id 
								AND forum_id = $forum_id";
					}
					if( !($result = $db->sql_query($sql)) )
					{
						[color=red]message_die(GENERAL_ERROR, "Couldn't update private forum permissions", "", __LINE__, __FILE__, $sql);[/color]
					}

發表於 : 2005-03-09 01:16
fish206452
圖檔

發表於 : 2005-03-10 03:39
幻狼神威
從錯誤那行往上找 $group_id 這個變數吧!

在你的錯誤訊息中,這一行↓

代碼: 選擇全部

INSERT INTO phpbb_auth_access (forum_id[color=blue], group_id,[/color] auth_mod) VALUES (3[color=red], ,[/color] 1)
應該是由這一行產生的 (紅字上方約 10~14行左右)↓

代碼: 選擇全部

$sql = "INSERT INTO " . AUTH_ACCESS_TABLE . " (forum_id[color=blue], group_id,[/color] $sql_field) 
                     VALUES ($forum_id[color=red], $group_id, [/color]$sql_value)";
看清楚我顏色標示的地方了嗎?在 phpBB 中,group_id 欄不可為空值,所以你上面一定有 誤刪 / 改錯 了某些東西,使得 $group_id 這個變數變成空白。
你貼的這幾行是看不出來有問題,你可以再看看你裝過的 MOD,看看是那一有改到這個位置的.......

發表於 : 2005-03-10 06:14
fish206452
我發現, 論壇其中兩個會員沒有這個問題
可以正常設定
但是其餘的會員都會發生錯誤

我真的找不到哪邊改錯,懇求高手幫忙

我的admin_ug_auth.php檔案
http://203.70.82.50/admin_ug_auth.txt

發表於 : 2005-03-10 21:05
fish206452
沒有人知道嗎?

發表於 : 2005-03-21 19:38
大熊
我也是這樣