標題: [D4.0] [求救]MySQL Query Error 1064[已解決]
 goalkeeper
 0045079
Rank: 1

頭銜: Newbie

帖子: 26

精華: 0

積分: 340 點

現金: 100 元

存款: 0 元

閱讀權限: 10

註冊: 2006-5-15

狀態: 離線
 
發表於 2007-8-25 17:31  資料  個人空間  短消息  加為好友 
[求救]MySQL Query Error 1064[已解決]

Discuz! info: MySQL Query Error

User: xxx
Time: 2007-8-24 2:05am
Script: /upgrade/admincp.php

SQL: INSERT INTO cdb_posts VALUES('2118','37','524','0','joeyinet','143','','1130413528','佢\有香港要既創意......\r\n我係老細我請佢\','59.188.84.154','0','0','0','0','-1','-1','0','0','0','0')
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '59.188.84.154','0','0','0','0','-1','-1','0','0','0','0')' at line 1
Errno.: 1064

重新安裝 Discuz 4.0, 資料恢復時出了以上 error msg, 而資料並不能恢復, 而 forum 亦由 big5 中文繁體變了亂碼...
anyone can help ?

[ 本帖最後由 goalkeeper 於 2007-9-2 22:10 編輯 ]




 AL8 Forum © All rights reserved.
頂部
 friri
 0026436
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

頭銜: Moderator

暱稱: Secret

帖子: 3579

精華: 0

積分: 21297 點

現金: 96 元

存款: 3238 元

閱讀權限: 100

註冊: 2005-7-16

來自: 香港

狀態: 離線
 
發表於 2007-8-26 00:52  資料  個人空間  短消息  加為好友 
建議你先在備分SQL數據上刪去這句:
INSERT INTO cdb_posts VALUES('2118','37','524','0','joeyinet','143','','1130413528','佢\有香港要既創意......\r\n我係老細我請佢\','59.188.84.154','0','0','0','0','-1','-1','0','0','0','0')


再還原。雖然不清楚文章升級錯誤的主因是…?
但有錯誤顯示的個句就建議先刪左去,比較有些幫助不知什麼事而還原的做法

至於中文繁體變為亂碼,請到phpmyadmin的「管理」頁把校對改為BIG5,否則會以latin作為校對,所以中文會轉碼,變為亂碼儲存。




論壇的一切暫時要停止了,但有我認識的問題,都會嘗試幫你解決!
 AL8 Forum © All rights reserved.
頂部
 goalkeeper
 0045079
Rank: 1

頭銜: Newbie

帖子: 26

精華: 0

積分: 340 點

現金: 100 元

存款: 0 元

閱讀權限: 10

註冊: 2006-5-15

狀態: 離線
 
發表於 2007-8-26 01:09  資料  個人空間  短消息  加為好友 
首先多謝 friri 兄.

本人只是新手, SQL 備份的工序只是按 '系统設置' 內的 '資料備份' 去做, 我並不懂 在備分SQL數據上刪去那一段 code.  而從來都只是做備份, 並沒有試過 '資料灰復'. 但由於 website 受 virus or hacker attack, 故想從新 install 並 upgrade to Discuz 5.5.0 or higher.  Just for your information, 現有備份 file 27 個. 煩請指教. 謝謝!




 AL8 Forum © All rights reserved.
頂部
 friri
 0026436
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

頭銜: Moderator

暱稱: Secret

帖子: 3579

精華: 0

積分: 21297 點

現金: 96 元

存款: 3238 元

閱讀權限: 100

註冊: 2005-7-16

來自: 香港

狀態: 離線
 
發表於 2007-8-26 01:36  資料  個人空間  短消息  加為好友 
回覆 #3 goalkeeper 的帖子

先問一問:你從論壇中備分出來的數據是否亂碼?(用wordpad或記事本打開來看看.sql)
是亂碼的=數據損毀(若另有方法我不懂X.X)

不是亂碼的就好辦得多,不過見你的錯誤是有中文,那應該是沒損毀。
(估計你的mysql版本近日是升級了?)

由於你有27 個備分檔,
所以出錯還原比較煩!
你是在那個備分檔升級出錯?
就在那個備分檔裡打開刪除那句升級錯誤的數據
(為何刪除?我認為這是比較快的做法,只是損失這句刪除了的回覆)
若還原之後又出錯,就繼續進行打開刪除。

不過估計你大部分出錯的資料表為cdb_posts,cdb_threads,所以可先還原非這兩個資料表的數據,後才還原這兩大數據。

Phpmyadmin的還原方法,應該比論壇的方便,選數據庫 -->SQL -->上載你的備分檔。




論壇的一切暫時要停止了,但有我認識的問題,都會嘗試幫你解決!
 AL8 Forum © All rights reserved.
頂部
 goalkeeper
 0045079
Rank: 1

頭銜: Newbie

帖子: 26

精華: 0

積分: 340 點

現金: 100 元

存款: 0 元

閱讀權限: 10

註冊: 2006-5-15

狀態: 離線
 
發表於 2007-8-26 01:58  資料  個人空間  短消息  加為好友 
checked. 數據不是亂碼.

不知道我的mysql版本近日是升級 or not.

備分檔 3 出錯.

因現在不能解決 display 亂碼 的問題 [need to wait until tomorrow morning]. 現不敢進行資料灰復.

若數據庫 format 為 Discuz 4.1, 應否 re-install 4.1 instead of 4.0 ?




 AL8 Forum © All rights reserved.
頂部
 friri
 0026436
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

頭銜: Moderator

暱稱: Secret

帖子: 3579

精華: 0

積分: 21297 點

現金: 96 元

存款: 3238 元

閱讀權限: 100

註冊: 2005-7-16

來自: 香港

狀態: 離線
 
發表於 2007-8-26 02:01  資料  個人空間  短消息  加為好友 
回覆 #5 goalkeeper 的帖子

你的備分是已升級論壇4.1的備分 或是 4.0未升級的備分?
就從這點來重安那個版本。




論壇的一切暫時要停止了,但有我認識的問題,都會嘗試幫你解決!
 AL8 Forum © All rights reserved.
頂部
 goalkeeper
 0045079
Rank: 1

頭銜: Newbie

帖子: 26

精華: 0

積分: 340 點

現金: 100 元

存款: 0 元

閱讀權限: 10

註冊: 2006-5-15

狀態: 離線
 
發表於 2007-8-30 22:42  資料  個人空間  短消息  加為好友 
QUOTE:
原帖由 friri 於 2007-8-26 02:01 發表
你的備分是已升級論壇4.1的備分 或是 4.0未升級的備分?
就從這點來重安那個版本。

4.0未升級的備分.

另外, 已張那 27 個 files 成功恢復. 多謝幫忙!

但亂碼的問題還是未能解決. 本人已能進入 phpmyadmin, 並將全部改至 big5

但網頁仍然是亂碼? 可以怎麼辨?

[ 本帖最後由 goalkeeper 於 2007-8-31 00:32 編輯 ]



 附件: 您所在的用戶組無法下載或查看附件



 AL8 Forum © All rights reserved.
頂部
 friri
 0026436
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

頭銜: Moderator

暱稱: Secret

帖子: 3579

精華: 0

積分: 21297 點

現金: 96 元

存款: 3238 元

閱讀權限: 100

註冊: 2005-7-16

來自: 香港

狀態: 離線
 
發表於 2007-8-31 02:02  資料  個人空間  短消息  加為好友 
回覆 #7 goalkeeper 的帖子

亂碼問題有幾樣的:
1)數據匯入亂碼
2)論壇用錯另一個編碼

而1:將細分為2項問題:
1)還原數據前,必先調教校對(適用於高版本MySql有校對的)
否則之後改校對也是沒用,按「瀏覽」看看資料表內的數據是否亂碼?
2)數據本來是亂碼,匯入也一定是亂碼
(但這個你應該不關事)

至於瀏覽後數據若果是中文字,而論壇顯示亂碼字,那你就在IE編輯 --> 編碼 --> 看看是否繁中
若選為其他編碼
就更改
config.inc.php下面數值為:
$charset = 'big5';
$headercharset = 1;




論壇的一切暫時要停止了,但有我認識的問題,都會嘗試幫你解決!
 AL8 Forum © All rights reserved.
頂部
 goalkeeper
 0045079
Rank: 1

頭銜: Newbie

帖子: 26

精華: 0

積分: 340 點

現金: 100 元

存款: 0 元

閱讀權限: 10

註冊: 2006-5-15

狀態: 離線
 
發表於 2007-8-31 13:43  資料  個人空間  短消息  加為好友 
用 phpmyadmin 按「瀏覽」看資料表內的數據是亂碼.
英文無問題, 中文變咗 ??????

番查 .sql 檔案[用 wordpad 開], 所有內容都可看到[沒有亂碼].
在 xxx-1.sql 內可看到中文, 但亦發覺好多段的 DEFAULT CHARSET=latin1 並不是 big5. 以下是其中一段的例子:

DROP TABLE IF EXISTS cdb_advertisements;
CREATE TABLE `cdb_advertisements` (
  `advid` mediumint(8) unsigned NOT NULL auto_increment,
  `available` tinyint(1) NOT NULL default '0',
  `type` varchar(50) NOT NULL default '0',
  `displayorder` tinyint(3) NOT NULL default '0',
  `title` varchar(50) NOT NULL default '',
  `targets` text NOT NULL,
  `parameters` text NOT NULL,
  `code` text NOT NULL,
  `starttime` int(10) unsigned NOT NULL default '0',
  `endtime` int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (`advid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=19;

不知這一個是不是問題所在.

在IE編輯 --> 編碼 --> 是繁中

config.inc.php 內容:

        $headercharset = 0;
        $charset = 'big5';

因 $headercharset = 0; , 是否應改為 $headercharset = 1; ?

N.B.: 由於 newbie 發帖限制, 今天可能已滿額, 或者要明天才能回覆.

[ 本帖最後由 goalkeeper 於 2007-8-31 13:44 編輯 ]




 AL8 Forum © All rights reserved.
頂部
 friri
 0026436
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

頭銜: Moderator

暱稱: Secret

帖子: 3579

精華: 0

積分: 21297 點

現金: 96 元

存款: 3238 元

閱讀權限: 100

註冊: 2005-7-16

來自: 香港

狀態: 離線
 
發表於 2007-8-31 14:08  資料  個人空間  短消息  加為好友 
回覆 #9 goalkeeper 的帖子

我個人亂碼的做法:

你的備分有這句就可以了,把所有:
DEFAULT CHARSET=latin1

改為
DEFAULT CHARSET=big5

及找找數據上有否出現:

將改為Big5,因為我記得其中一個資料表會有另一個寫法,所以並不是只改DEFAULT CHARSET=big5就無問題的,記得好像是:cdb_sessions

改完SQL上的上述修改後,請重新導入新數據上數據庫中!那就沒亂碼了(記得數據庫上要設為BIG5,方便日後加新資料表時會以BIG5校對作為默認)

--------------------------------------------------------------------------------
$headercharset = 0;
這個是強制字符集
由於你的瀏覽數據已亂碼,所以與這個沒有關係,可不設定。

但若瀏覽數據上不是亂碼,而上論壇是編碼不是BIG5,就設為1。

你說:在IE編輯 --> 編碼 --> 是繁中
所以你可設為1或不改也沒問題。

[ 本帖最後由 friri 於 2007-8-31 14:11 編輯 ]




論壇的一切暫時要停止了,但有我認識的問題,都會嘗試幫你解決!
 AL8 Forum © All rights reserved.
頂部


網頁空間由 I-SERVICES 提供
當前時區 GMT+8, 現在時間是 2008-12-5 20:56