|
|
|
สอบถามเรื่องการ add ไฟล์ csv ลง database ได้ไม่ครบครับ |
|
|
|
|
|
|
|
ผมได้ลองนำโค้ดจาก thaicreate ใน localhost ก็สามารถใช้ได้ปกตินะครับ โดยก่อนเพิ่มข้อมูลได้เซฟไฟล์เป็น UTF-8 แล้ว และฐานข้อมูลก็เป็น UTF-8 แล้ว สามารถแสดงภาษาไทยได้ปกติ แต่พอเอาขึ้นโฮสจริง ข้อมูลตารางแรกที่เป็นชื่อร้านลูกค้าภาษาไทยกลับเป็นค่าว่างครับ แต่ช่องหมายเหตุภาษาไทยแอดเข้าได้ปกติ เลยลอง export database จาก localhost ไป import เข้า host ที่ใช้งาน ก็สามารถใช้งานได้ปกติ ผมเลยอยากสอบถามว่าปัญหาน่าจะมาจากตรงไหนได้บ้างครับ ขอบคุณครับ
Code (PHP)
<?
$objConnect = mysql_connect("localhost","xxx","xxx") or die("Error Connect to Database"); // Conect to MySQL
$objDB = mysql_select_db("xxx");
$objCSV = fopen("all.csv", "r");
while (($objArr = fgetcsv($objCSV, 5000, ",")) !== FALSE) {
$strSQL = " INSERT INTO checkstatus ";
$strSQL .="(cu,id,day,pd,sn,datereturn,po,pdreturn,snreturn,cl,ca) ";
$strSQL .="VALUES";
$strSQL .="('".$objArr[0]."','".$objArr[1]."','".$objArr[2]."' ";
$strSQL .=",'".$objArr[3]."','".$objArr[4]."','".$objArr[5]."' ";
$strSQL .=",'".$objArr[6]."','".$objArr[7]."','".$objArr[8]."' ";
$strSQL .=",'".$objArr[9]."','".$objArr[10]."')";
mysql_query("SET NAMES UTF8");
$objQuery = mysql_query($strSQL);
}
fclose($objCSV);
echo "<html><head><meta http-equiv='refresh' content='1; url=http://www.xxx.com/checkstatus/index1.php'></head><body><center>Import Done.</center></body></html>";
?>
ขอบคุณ thaicreate.com มากๆ ครับสำหรับความรู้ที่ได้นำมาแบ่งปัน
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2012-02-03 11:00:02 2012-02-03 11:01:08
|
|
|
|
|
Date :
2012-02-03 10:58:56 |
By :
july8329 |
View :
1337 |
Reply :
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดู iconv() ครับ
|
|
|
|
|
Date :
2012-02-03 11:16:01 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 3 เขียนโดย : webmaster เมื่อวันที่ 2012-02-03 13:10:54
รายละเอียดของการตอบ ::
จากโค้ดผมใส่แล้วนะครับ หรือว่าผมใส่ผิดตำแหน่งเหรอครับ พอดีมือใหม่ เลยยังไม่ค่อยรู้เรื่องการวางตำแหน่งโค้ดน่ะครับ
ลองย้ายตำแหน่ง Code (PHP)
mysql_query("SET NAMES UTF8");
ก็ยังไม่ได้เหมือนกันครับ
Code (PHP)
<?
$objConnect = mysql_connect("localhost","xxx","xxx") or die("Error Connect to Database"); // Conect to MySQL
$objDB = mysql_select_db("xxx");
mysql_query("SET NAMES UTF8");
$objCSV = fopen("all.csv", "r");
while (($objArr = fgetcsv($objCSV, 5000, ",")) !== FALSE) {
$strSQL = " INSERT INTO checkstatus ";
$strSQL .="(cu,id,day,pd,sn,datereturn,po,pdreturn,snreturn,cl,ca) ";
$strSQL .="VALUES";
$strSQL .="('".$objArr[0]."','".$objArr[1]."','".$objArr[2]."' ";
$strSQL .=",'".$objArr[3]."','".$objArr[4]."','".$objArr[5]."' ";
$strSQL .=",'".$objArr[6]."','".$objArr[7]."','".$objArr[8]."' ";
$strSQL .=",'".$objArr[9]."','".$objArr[10]."')";
$objQuery = mysql_query($strSQL);
}
fclose($objCSV);
echo "<html><head><meta http-equiv='refresh' content='1; url=http://www.xxx.com/checkstatus/index1.php'></head><body><center>Import Done.</center></body></html>";
?>
|
ประวัติการแก้ไข 2012-02-03 17:51:58
|
|
|
|
Date :
2012-02-03 17:36:03 |
By :
july8329 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณน่าจะต้องใช้หลายตัวด้วยกันครับ เช่นพวก iconv ด้วยครับ ลองแก้ไขปรับแต่งดูหลาย ๆ วิธีครับ ผมคงช่วยได้แค่แนะนำครับ ส่วนวิธีแก้ปัฐหาคุณน่าจะต้องลองผิดลองถูก หรือค้นหาจากกระทู้เก่า ๆ คับ และถ้าทำได้ก็ทำมา Shared ด้วยครับ
|
|
|
|
|
Date :
2012-02-04 10:33:32 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง die ดูหรือยังละครับ จะได้เห็น error
Code (PHP)
$objQuery = mysql_query($strSQL) or die(mysql_error());
|
|
|
|
|
Date :
2012-02-06 10:29:13 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น้องอั่น หายไปหลายวันเลย
|
|
|
|
|
Date :
2012-02-06 10:46:15 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หรือไม่ลอง $strSQL เอาค่าออกมาดูครับ
|
|
|
|
|
Date :
2012-02-07 06:24:48 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|