[問題]外掛:誰看了這篇文章1.0.3的問題(已解決~)

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

主題已鎖定
PandaTwo
星球普通子民
星球普通子民
文章: 10
註冊時間: 2005-12-06 22:15

[問題]外掛:誰看了這篇文章1.0.3的問題(已解決~)

文章 PandaTwo »

問題外掛:誰看了這篇文章1.0.3
參考連結:http://phpbb-tw.net/phpbb/viewtopic.php?t=20650
使用版本:phpBB 2.0.21
網站位置:http://www.mascoteventclub.ez2.us/ForTest/
狀況描述:

在裝了這個外掛後....
在點選文章標題要進入時,就會出現這樣的訊息.....
phpBB : Critical Error

Error create user view topic information

DEBUG MODE

SQL Error : 1146 Table 'mascoteventclub.topic_view_table' doesn't exist

INSERT IGNORE INTO TOPIC_VIEW_TABLE (topic_id, user_id, view_time,view_count) VALUES (400, "3", "1151001377","1")

Line : 216
File : viewtopic.php
而我確定我這個資料庫的欄位已經有加入了.....

而看這個錯誤訊息的敘述....
感覺像是viewtopic.php在執行時,沒有認識到資料庫裡有這個欄位...
所以無法將點選的資料寫入.....
而在當初安裝時其中有段程式碼是這樣
#
#-----[ OPEN ]------------------------------------------------
#
admin/admin_db_utilities.php

#
#-----[ FIND ]------------------------------------------------
#
$tables = array(

#
#-----[ AFTER, ADD ]------------------------------------------
#

// Start add - Who viewed a topic MOD
$tables[] = 'topic_view';
// End add - Who viewed a topic MOD
而我因為之前裝過了完整備份資料庫的外掛....
所以在$tables = array(這段程式碼的地方已經變更為
$phpbb_only = (!empty($HTTP_POST_VARS['phpbb_only'])) ? $HTTP_POST_VARS['phpbb_only'] : ( (!empty($HTTP_GET_VARS['phpbb_only'])) ? $HTTP_GET_VARS['phpbb_only'] : 0 );
switch ( SQL_LAYER )
{
case 'mysql':
case 'mysql4':
$sql = 'SHOW TABLES';
$field = "Tables_in_{$dbname}";
break;
case 'postgresql':
$sql = "SELECT relname
FROM pg_class
WHERE relkind = 'r'
AND relname NOT LIKE 'pg\_%'";
$field = "relname";
break;
}
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$current_table = $row[$field];
$current_prefix = substr($current_table, 0, strlen($table_prefix));
if ($phpbb_only && $current_prefix != $table_prefix)
{
continue;
}
else
{
$tables[] = $current_table;
}
}
而這段的前面和後面都和原始的相同
所以我是在這段後面直接加上了他要加入的

// Start add - Who viewed a topic MOD
$tables[] = 'topic_view';
// End add - Who viewed a topic MOD

可是結果仍舊是失敗的.....
不知道該怎樣修改讓他可以成功的認識topic_view這個Table呢?
還是說這兩個外掛就是注定相衝了?

另外,附上錯誤的viewtopic.php 216行附近的程式碼....
謝謝諸位了......
紅色字為剛好的第216行
//
// End auth check
//
// Start add - Who viewed a topic MOD
$user_id=$userdata['user_id'];
$sql='UPDATE '.TOPIC_VIEW_TABLE.' SET topic_id="'.$topic_id.'", view_time="'.time().'", view_count=view_count+1 WHERE topic_id='.$topic_id.' AND user_id='.$user_id;
if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )
{
$sql = 'INSERT IGNORE INTO '.TOPIC_VIEW_TABLE.' (topic_id, user_id, view_time,view_count)
VALUES ('.$topic_id.', "'.$user_id.'", "'.time().'","1")';
if ( !($db->sql_query($sql)) )
{
message_die(CRITICAL_ERROR, 'Error create user view topic information ', '', __LINE__, __FILE__, $sql);
}
}
// End add - Who viewed a topic MOD
最後由 PandaTwo 於 2006-06-23 20:16 編輯,總共編輯了 1 次。
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8547
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

Niels 的論壇, 最近似乎都進不去,
請問: 您是怎麼下載此外掛的?

建議您:
0. 提供外掛其他參考 (下載) 連結位址
1. 將資料庫的相關資料表 (mascoteventclub.topic_view_table) 拍張照片
2. 將下列檔案壓縮後, 貼出下載連結
admin/admin_db_utilities.php
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
PandaTwo
星球普通子民
星球普通子民
文章: 10
註冊時間: 2005-12-06 22:15

文章 PandaTwo »

心靈捕手 寫:Niels 的論壇, 最近似乎都進不去,
請問: 您是怎麼下載此外掛的?

建議您:
0. 提供外掛其他參考 (下載) 連結位址
1. 將資料庫的相關資料表 (mascoteventclub.topic_view_table) 拍張照片
2. 將下列檔案壓縮後, 貼出下載連結
admin/admin_db_utilities.php
因為我有先下載想要的功能外掛~
等有空時再安裝的習慣~
所以該外掛是很久以前就已經下載好的了~
不是最近才下載的~
(因為放在家中的NB裡,等下班回家後再提供該外掛的檔案連結)

資料庫的相關資料表照片如下~
http://img154.imageshack.us/img154/1705 ... iew4sw.jpg
而,這個相關的Table增加,是利用外掛裡面的檔案執行後完成的~
並不是自己手動增加的~

檔案的壓所檔如下~
http://www.mascoteventclub.ez2.us/admin ... lities.rar

謝謝心靈捕手大大了~
;-)
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8547
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

這個外掛 (Who viewed a topic) 我已經有安裝.

剛剛再試裝此官方認證外掛 (Complete Database Backup),
並沒有所謂 '相沖' 的情況發生.

--
檢視這個檔案 (admin/admin_db_utilities.php) 的修改, 是沒有問題的.

--
請問:
當您安裝此外掛 (Who viewed a topic) 時候,
是先執行資料庫更新檔 (who_viewed_db_update.php), 再進行相關的檔案修改;
或者是, 先進行相關的檔案修改, 再執行資料庫更新檔呢?

如果是後者的話, 那麼您將有可能會得到錯誤訊息.
#
# This MOD need a database update.
# Then, as you must have now copied the who_viewed_db_update.php file
# in your phpBB root directory, run it with your navigator...
# http://wwww.yourWebSite.xxx/phpbbRootDi ... update.php
#
# ...and then delete it from the phpBB root directory!!!
#
# Please, do it NOW! Before editing phpBB files by EM or manually!!!
# Otherwise, you may have an error message during your next
# connection.

#
Source: 外掛 (Who viewed a topic) 安裝說明

--
建議您:
1. 提供測試帳號與密碼
2. 或許, 您得還原相關檔案後, 重新安裝此外掛
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
PandaTwo
星球普通子民
星球普通子民
文章: 10
註冊時間: 2005-12-06 22:15

文章 PandaTwo »

心靈捕手 寫:這個外掛 (Who viewed a topic) 我已經有安裝.

剛剛再試裝此官方認證外掛 (Complete Database Backup),
並沒有所謂 '相沖' 的情況發生.

--
檢視這個檔案 (admin/admin_db_utilities.php) 的修改, 是沒有問題的.

--
請問:
當您安裝此外掛 (Who viewed a topic) 時候,
是先執行資料庫更新檔 (who_viewed_db_update.php), 再進行相關的檔案修改;
或者是, 先進行相關的檔案修改, 再執行資料庫更新檔呢?

如果是後者的話, 那麼您將有可能會得到錯誤訊息.
#
# This MOD need a database update.
# Then, as you must have now copied the who_viewed_db_update.php file
# in your phpBB root directory, run it with your navigator...
# http://wwww.yourWebSite.xxx/phpbbRootDi ... update.php
#
# ...and then delete it from the phpBB root directory!!!
#
# Please, do it NOW! Before editing phpBB files by EM or manually!!!
# Otherwise, you may have an error message during your next
# connection.

#
Source: 外掛 (Who viewed a topic) 安裝說明

--
建議您:
1. 提供測試帳號與密碼
2. 或許, 您得還原相關檔案後, 重新安裝此外掛
我是先執行該新增資料庫的檔案後~
才開始修改相關的檔案的~

不過,我是先裝完整備份資料庫後~
才裝這個Who Viewd a topic
先後的順序會有關係嗎?

今天晚上我清除後再重新安裝一次看看好了~
謝謝囉~
:)
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

Table 'mascoteventclub.topic_view_table' doesn't exist
這種錯誤訊息之前講過好多次了
正常狀況下應該是出現Table 'mascoteventclub.phpbb_topic_view' doesn't exist
如果
1.沒有出現藍字的table prefix
2.有出現_table
這種狀況都是沒有改到includes/constants.php檔所造成的

註:
table prefix視你安裝phpBB時所指定的名稱而定, 通常會使用預設的phpbb_
謝絕所有私人訊息詢問外掛相關問題
有問題請直接於版上發表, 集思廣議絕對比專挑特定人士詢問來的好

竹貓禁止發表含破解相關的軟體, 違者砍文
不要跟我講別的地方都可以發, 為什麼竹貓就不行
免費不等於破解, 傻傻的搞不清楚
PandaTwo
星球普通子民
星球普通子民
文章: 10
註冊時間: 2005-12-06 22:15

文章 PandaTwo »

~倉木麻衣~ 寫:Table 'mascoteventclub.topic_view_table' doesn't exist
這種錯誤訊息之前講過好多次了
正常狀況下應該是出現Table 'mascoteventclub.phpbb_topic_view' doesn't exist
如果
1.沒有出現藍字的table prefix
2.有出現_table
這種狀況都是沒有改到includes/constants.php檔所造成的

註:
table prefix視你安裝phpBB時所指定的名稱而定, 通常會使用預設的phpbb_
感謝倉木大大......
正常了!!
感謝~

查詢了一下constants.php這個檔...
裡面果然漏寫了這段

// Start add - Who viewed a topic MOD
define('TOPIC_VIEW_TABLE', $table_prefix.'topic_view');
// End add - Who viewed a topic MOD

現在一切運作正常~
:)
主題已鎖定

回到「外掛問題討論」