色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql 分號查詢,加工中心發那可系統傳程序

張吉惟2年前21瀏覽0評論
mysql 分號查詢,加工中心發那可系統傳程序?

一、一般步驟

1、用phpADMIN生成csv格式文件

以PHP+MySQL模式建立個人主頁的讀者,在自己的機器上都有PHP+MySQL環境吧?就在這個環境下,用phpADMIN生成以分號為分隔符的dotmud.csv文件。

2、將dotmud.csv文件通過FTP上傳到服務器。

3、上傳data.php程序(程序附后),在瀏覽器調用data.php程序,將dotmud.csv文件的內容加入到數據庫。

二、特殊處理

一般的數據,通過上述步驟,基本可以順利上傳。但對于包含特殊字符的數據(比如數據庫記錄中包含換行符、單引號、分號),就要做些特殊的處理。

1、換行符的處理

PHP的fgetcsv()函數以換行符作為每行的結束標志。如果MySQL數據表的記錄包含換行符,fgetcsv()就不能完整讀取記錄行。

筆者的解決方法是修改phpADMIN的lib.inc.php3文件(讀者也可以不修改phpADMIN文件,而是用其他方法直接加工phpADMIN生成的dotmud.csv文件,達到同樣的效果)的get_table_csv()函數:

在 $schema_insert=ereg_replace($sep."$","",$schema_insert) 行后加入如下命令行

$schema_insert=ereg_replace("\r\n","`return`",$schema_insert)

將換行符轉換為不容易出現的換行標識串`return`(讀者可根據自己數據的特點設置獨特的換行標識串),再在data.php程序中加一行命令$data[$i]=ereg_replace("`return`","\r\n",$data[$i]),用來將換行標識串還原成換行符。

2、分隔符的處理

如果MySQL記錄行恰好包含CSV分隔符,fgetcsv()進行分隔處理時就會出現問題。

筆者仍然是通過修改lib.inc.php3文件解決的。

在get_table_csv()的$schema_insert="$row[$j]".$sep行前加一行

$row[$j]=ereg_replace($sep,"`return_sep`",$row[$j]) 命令,將分隔符轉為分隔標識串`return_sep`,同時在data.php中用命令行 $data[$i]=ereg_replace("`return_sep`",";",$data[$i]) 進行還原處理。

3、單引號的處理

MySQL的SQL語句行對單引號有特殊的定義,如果直接提交含單引號的SQL語句,就會出錯。這種情況需要加上轉義符。在data.php中加一行 $data[$i]=ereg_replace("'","\'",$data[$i]) 就可解決。

另外,在數據記錄特別多的的情況下,dotmud.csv文件可能比較大,如果在服務器的限定時間內不能執行完data.php程序,就需要按行分拆dotmud.csv。如筆者有個7000行的dotmud.csv文件,在自己的機器上執行到600行就提示超時,便拆成10個文件上傳到全路互聯(www.wayall.com),結果對方的服務器速度快,每個文件的處理時間還不到1秒,而php默認的限定執行時間可是30秒啊!看來我做的分拆實屬多余。

以上方法解決了數據庫內容的上傳問題。對于數據庫結構的上傳,只要稍微修改一下data.php程序就可實現。其實,如果庫結構比較簡單,用phpADMIN更方便。