[改良修正] 修正 search.php 搜尋部分特殊字時 產生錯誤的BUG

基本上 此情形只會出現在BIG5論壇

演示 http://discuz.bluelovers.net/search.php?srchfid=14
搜尋 以閱

修正前會出現已下錯誤
Discuz! info: MySQL Query Error

User: 湯姆維德
Time: 2007-12-18 1:23am
Script: /search.php
Query :

SQL: INSERT INTO Discuz_searchindex (keywords, searchstring, useip, uid, dateline, expiration, threads, tids)
                    VALUES ('已閱', 'title|已閱\|0||\'75\',\'76\',\'59\',\'77\',\'1\',\'12\',\'68\',\'54\',\'55\',\'58\',\'57\',\'64\',\'18\',\'69\',\'51\',\'72\',\'70\',\'82\',\'45\',\'78\',\'81\',\'79\',\'56\',\'61\',\'60\',\'67\',\'33\',\'32\',\'10\',\'27\',\'66\',\'65\',\'14\',\'50\',\'48\',\'49\',\'30\',\'73\',\'71\',\'7\',\'28\',\'17\',\'21\',\'24\',\'15\',\'16\',\'22\',\'25\',\'43\',\'80\',\'20\',\'19\',\'29\',\'26\',\'44\',\'5\',\'39\',\'38\',\'37\',\'47\',\'34\',\'40\',\'46\',\'42\',\'31\',\'3\',\'86\',\'87\'|0|0|all|', '61.216.2.163', '8242', '1197912230', '1197915830', '1', '0,2130')
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 'title|已閱\|0||\'75\',\'76\',\'59\',\'77\',\'1\',\'12\',\'68\',\'54\',\'55\',\'5' at line 2
Errno.:  1064
Detail:  SQL語句中有錯誤
開啟 search.php
$keywords = str_replace('%', '+', $srchtxt).(trim($srchuname) ? '+'.str_replace('%', '+', $srchuname) : '');[/php]
下加
[php]// bluelovers
				$keywords = addslashes($keywords);
				// bluelovers
複製這篇網址分享給朋友: http://discuz.bluelovers.net/thread-9379-1.html#pid14671

本篇的內容不含引用除另有聲明外,如符合 CC授權條款 則套用 姓名標示-非商業性-相同方式分享 3.0 通用版

套一句黃小琥說過的話:「你可以點歌,但是我可以選歌」

RE: [改良修正] 修正 search.php 搜尋部分特殊字時 產生錯誤的BUG

我在我的論壇搜尋"以閱"都沒有出錯..
要更正這bug嗎?
複製這篇網址分享給朋友: http://discuz.bluelovers.net/thread-9379-1.html#pid14702

本篇的內容不含引用除另有聲明外,如符合 CC授權條款 則套用 姓名標示-非商業性-相同方式分享 3.0 通用版

TOP

RE: [改良修正] 修正 search.php 搜尋部分特殊字時 產生錯誤的BUG

無錯 當然就不用修正(不是每一個伺服器 都會有問題 跟伺服器設定 有關係)
另外 如果是明明有這個字 但是找不到 那就是有錯誤

還有要不要修改 那是看你 並不是看我
複製這篇網址分享給朋友: http://discuz.bluelovers.net/thread-9379-1.html#pid14703

本篇的內容不含引用除另有聲明外,如符合 CC授權條款 則套用 姓名標示-非商業性-相同方式分享 3.0 通用版

TOP