環境:
Windows Server 2003 Enterprise Edition Service Pack 1
IIS6 + fastcgi +PHP 5.3 (5.3.29) Non Thread Safe +MYSQL 5.0.22-community-nt
PHP.ini
BUG表現描述:
http://127.0.0.1/admin.php?s=/Database/import/time/1414865063.html&part=1&start=0
當INSERT INTO語句有 ;換行
第191行 preg_match('/.*;$/', trim($sql))
判決完整SQL成立,就會執行殘缺的SQL
修復:
第156行
修復檔案:
Windows Server 2003 Enterprise Edition Service Pack 1
IIS6 + fastcgi +PHP 5.3 (5.3.29) Non Thread Safe +MYSQL 5.0.22-community-nt
PHP.ini
short_open_tag = On display_errors = On magic_quotes_gpc = On extension_dir = "E:/isapi/php5.3/ext" fastcgi.impersonate = 1 extension=php_gd2.dll extension=php_mbstring.dll extension=php_mysql.dll extension=php_pdo_mysql.dll extension=php_pdo_sqlite.dll date.timezone = Asia/Shanghai
BUG表現描述:
http://127.0.0.1/admin.php?s=/Database/import/time/1414865063.html&part=1&start=0
:( SQLSTATE[HY000]: General error 錯誤位置 FILE: E:\wwwroot\onethink_1.1\wwwroot\ThinkPHP\Library\Think\Db\Driver.class.php LINE: 280 TRACE #0 E:\wwwroot\onethink_1.1\wwwroot\ThinkPHP\Library\Think\Db\Driver.class.php(280): PDOStatement->fetchAll(2) #1 E:\wwwroot\onethink_1.1\wwwroot\ThinkPHP\Library\Think\Db\Driver.class.php(169): Think\Db\Driver->getResult() #2 E:\wwwroot\onethink_1.1\wwwroot\ThinkPHP\Library\OT\Database.class.php(192): Think\Db\Driver->query('-- ------------...') #3 E:\wwwroot\onethink_1.1\wwwroot\Application\Admin\Controller\DatabaseController.class.php(277): OT\Database->import('0') #4 [internal function]: Admin\Controller\DatabaseController->import('1414865063', '1', '0') #5 E:\wwwroot\onethink_1.1\wwwroot\ThinkPHP\Library\Think\App.class.php(154): ReflectionMethod->invokeArgs(Object(Admin\Controller\DatabaseController), Array) #6 E:\wwwroot\onethink_1.1\wwwroot\ThinkPHP\Library\Think\App.class.php(194): Think\App::exec() #7 E:\wwwroot\onethink_1.1\wwwroot\ThinkPHP\Library\Think\Think.class.php(120): Think\App::run() #8 E:\wwwroot\onethink_1.1\wwwroot\ThinkPHP\ThinkPHP.php(97): Think\Think::start() #9 E:\wwwroot\onethink_1.1\wwwroot\admin.php(40): require('E:\wwwroot\onet...') #10 {main}還有另一個錯誤,備份INSERT語句VALUES值沒做換行轉義處理,
當INSERT INTO語句有 ;換行
第191行 preg_match('/.*;$/', trim($sql))
判決完整SQL成立,就會執行殘缺的SQL
INSERT INTO `onethink_document_article` VALUES ('1', '0', '<h1> OneThink1.1開發版釋出&nbsp; </h1> ............... ', '', '0');
修復:
第156行
$sql = "INSERT INTO `{$table}` VALUES ('" . str_replace(array("\r","\n"),array('\r','\n'),implode("', '", $row)) . "');\n";第192行query改成execute
if(false !== $db->execute($sql)){
修復檔案:
ThinkPHP.Library.OT.Database.c(2.76KB, 下載次數: 8)
回覆
不錯,贊
評論
唉,手冊也沒人更新啊
有新的改變,手冊也改啊
要不然自己琢磨還是很費時間的
一個做貢獻,全社會都會進步
要是每個人都琢磨同一件事,社會前進的腳步會慢很多!
。。。
有新的改變,手冊也改啊
要不然自己琢磨還是很費時間的
一個做貢獻,全社會都會進步
要是每個人都琢磨同一件事,社會前進的腳步會慢很多!
。。。
評論
可以直接在git裡面pull,呵呵
評論
已經修正