1 頁 (共 1 頁)

[問題] 如何將一個 php 的 SQL 執行檔轉成純文字?

發表於 : 2005-08-30 22:06
AL37
請問如何將一個 php 的 SQL 執行檔轉成純文字?

變成可以於 phpMyAdmin 裡執行?

執行檔如下:

代碼: 選擇全部

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/functions_selects.'.$phpEx);

###################################################################################################
##
## put the SQL commands below here, the SQL commands listed below are only exampels, substitude them with the one you need ##
##
###################################################################################################
$sql=array(
'ALTER TABLE '.USERS_TABLE.' ADD user_lastlogon INT (11) DEFAULT "0" not null',
'UPDATE '.USERS_TABLE.' SET user_lastlogon=user_lastvisit WHERE user_lastlogon="0"',
'INSERT INTO '.CONFIG_TABLE.' (config_name, config_value) VALUES ("hidde_last_logon", "0")',
'ALTER TABLE ' . USERS_TABLE .' ADD user_totaltime INT (11) DEFAULT "0"',
'ALTER TABLE ' . USERS_TABLE .' ADD user_totallogon INT (11) DEFAULT "0"',
'ALTER TABLE ' . USERS_TABLE .' ADD user_totalpages INT (11) DEFAULT "0"',
'UPDATE '. USERS_TABLE .' SET user_totaltime=(user_session_time-user_lastlogon) WHERE user_totaltime="0" AND user_lastlogon>0',
'UPDATE '. USERS_TABLE .' SET user_totallogon=1 WHERE user_totallogon="0" AND user_session_time<>"0"'
);


$mods = array ( 
'Last Visit PART 1 Mod','Last Visit PART 1 Mod','Last Visit PART 2 Mod','Last Visit PART 4 Mod','Last Visit PART 4 Mod','Last Visit PART 4 Mod','Last Visit PART 4 Mod','Last Visit PART 4 Mod'
);

############################################### Do not change anything below this line #######################################

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//

if ($userdata['user_level']!=ADMIN)
      message_die(GENERAL_ERROR, "You are not Authorised to do this"); 
$n=0;
$message="<b>This list is a result of the SQL queries needed for MOD</b><br/><br/>";
while($sql[$n])
{
	$message .= ($mods[$n-1] != $mods[$n]) ? '<p><b><font size=3>'.$mods[$n].'</font></b><br/>' : '';
	if(!$result = $db->sql_query($sql[$n])) 
	$message .= '<b><font color=#FF0000>[Already added]</font></b> line: '.($n+1).' , '.$sql[$n].'<br />';
	else $message .='<b><font color=#0000fF>[Added/Updated]</font></b> line: '.($n+1).' , '.$sql[$n].'<br />';
	$n++;
}
 message_die(GENERAL_MESSAGE, $message); 
?>
感謝各位幫忙!

發表於 : 2005-08-30 22:14
問題狂
為什麼你要變成文字檔再phpmyadmin中直接執行嗎?
你直接把PHP的檔案複製到PHPBB的跟目錄下執行就好了呀?

發表於 : 2005-08-30 22:16
AL37
問題狂 寫:為什麼你要變成文字檔再phpmyadmin中直接執行嗎?
你直接把PHP的檔案複製到PHPBB的跟目錄下執行就好了呀?
在 PHPBB 裡執行時有錯誤:

代碼: 選擇全部

一般錯誤 
  
You are not Authorised to do this 
 

發表於 : 2005-08-30 22:18
問題狂
要用系統管理員去執行

發表於 : 2005-08-30 22:30
AL37
問題狂 寫:要用系統管理員去執行
我已經是系統管理員了

發表於 : 2005-08-30 22:41
問題狂
有登入嗎?
記得要登入唷!
如果不行可以試試看下列語法:

代碼: 選擇全部

ALTER TABLE phpbb_users ADD user_lastlogon INT (11) DEFAULT "0" not null;
UPDATE phpbb_users SET user_lastlogon=user_lastvisit WHERE user_lastlogon="0";
INSERT INTO phpbb_config (config_name, config_value) VALUES ("hidde_last_logon", "0");
ALTER TABLE phpbb_users ADD user_totaltime INT (11) DEFAULT "0";
ALTER TABLE phpbb_users ADD user_totallogon INT (11) DEFAULT "0";
ALTER TABLE phpbb_users ADD user_totalpages INT (11) DEFAULT "0";
UPDATE phpbb_users SET user_totaltime=(user_session_time-user_lastlogon) WHERE user_totaltime="0" AND user_lastlogon>0;
UPDATE phpbb_users SET user_totallogon=1 WHERE user_totallogon="0" AND user_session_time<>"0";
尚未測試過
可能會失敗

發表於 : 2005-08-30 23:10
AL37
問題狂 寫:有登入嗎?
記得要登入唷!
如果不行可以試試看下列語法:

代碼: 選擇全部

ALTER TABLE phpbb_users ADD user_lastlogon INT (11) DEFAULT "0" not null;
UPDATE phpbb_users SET user_lastlogon=user_lastvisit WHERE user_lastlogon="0";
INSERT INTO phpbb_config (config_name, config_value) VALUES ("hidde_last_logon", "0");
ALTER TABLE phpbb_users ADD user_totaltime INT (11) DEFAULT "0";
ALTER TABLE phpbb_users ADD user_totallogon INT (11) DEFAULT "0";
ALTER TABLE phpbb_users ADD user_totalpages INT (11) DEFAULT "0";
UPDATE phpbb_users SET user_totaltime=(user_session_time-user_lastlogon) WHERE user_totaltime="0" AND user_lastlogon>0;
UPDATE phpbb_users SET user_totallogon=1 WHERE user_totallogon="0" AND user_session_time<>"0";
尚未測試過
可能會失敗
成功了

謝謝 問題狂 大大