GORAGOD.com

freelance, web developer, web designer, hosting, domain name

รบกวนผู้รู้ทุกท่าน ดูโค้ด php ให้หน่อยค่ะ

เป็นโค้ดการ import เมื่อรันแล้วจะแสดงข้อความว่า  import เรียบร้อยแล้ว  แต่ในฐานข้อมูลไม่มีข้อมูลที่ import ค่ะ
เป็นเพราะอะไรหรอคะ  รบกวนผู้รู้ทุกท่านดูโค้ดให้หน่อยนะคะ  ขอบคุณล่วงหน้าค่ะ


<?
 //*** Get Document Path ***//
 $strPath = realpath(basename(getenv($_SERVER["SCRIPT_NAME"])));
 $OpenFile = "student.xls";
 //*** Create Exce.Application ***//
 $xlApp = new COM("Excel.Application");
 $xlBook = $xlApp->Workbooks->Open($strPath."/".$OpenFile);
 //$xlBook = $xlApp->Workbooks->Open(realpath($OpenFile));

 $xlSheet1 = $xlBook->Worksheets(1); 

 //*** Insert to MySQL Database ***//
 $objConnect = mysql_connect("localhost","root","abc123") or die("Error Connect to Database");
 mysql_query("SET NAMES TIS620");
 $objDB = mysql_select_db("student");

 for($i=2;$i<=3;$i++){
  If(trim($xlSheet1->Cells->Item($i,1)) != "")
  {
   $strSQL = "";
   $strSQL .= "INSERT INTO cpu_std ";
   $strSQL .= "(STD_ID, USER, PASSWORD, CITIZEN_ID, PROGRAM_ID,YEAR,PREFIX_NAME,STD_FNAME,STD_LNAME,GENDER,BIRTHDAY,PROVINCE_ID,LEV,CURR,FAC,ISCED,PROGRAM,GPA,HOMEADD,MOO,HOME,SOI,STREET,TAMBON,AMPHUR,PROVINCE,ZIPCODE,TEL,TELEPHONE,FAX,RACE,RELIGION,EMAIL,STATUS_STD) ";
   $strSQL .= "VALUES ";
   $strSQL .= "('".$xlSheet1->Cells->Item($i,1)."','".$xlSheet1->Cells->Item($i,2)."' ";
   $strSQL .= ",'".$xlSheet1->Cells->Item($i,3)."','".$xlSheet1->Cells->Item($i,4)."' ";
   $strSQL .= ",'".$xlSheet1->Cells->Item($i,5)."','".$xlSheet1->Cells->Item($i,6)."') ";
   $strSQL .= "('".$xlSheet1->Cells->Item($i,7)."','".$xlSheet1->Cells->Item($i,8)."' ";
   $strSQL .= ",'".$xlSheet1->Cells->Item($i,9)."','".$xlSheet1->Cells->Item($i,10)."' ";
   $strSQL .= ",'".$xlSheet1->Cells->Item($i,11)."','".$xlSheet1->Cells->Item($i,12)."') ";
   $strSQL .= "('".$xlSheet1->Cells->Item($i,13)."','".$xlSheet1->Cells->Item($i,14)."' ";
   $strSQL .= ",'".$xlSheet1->Cells->Item($i,15)."','".$xlSheet1->Cells->Item($i,16)."' ";
   $strSQL .= ",'".$xlSheet1->Cells->Item($i,17)."','".$xlSheet1->Cells->Item($i,18)."') ";
   $strSQL .= "('".$xlSheet1->Cells->Item($i,19)."','".$xlSheet1->Cells->Item($i,20)."' ";
   $strSQL .= ",'".$xlSheet1->Cells->Item($i,21)."','".$xlSheet1->Cells->Item($i,22)."' ";
   $strSQL .= ",'".$xlSheet1->Cells->Item($i,23)."','".$xlSheet1->Cells->Item($i,24)."') ";
   $strSQL .= "('".$xlSheet1->Cells->Item($i,25)."','".$xlSheet1->Cells->Item($i,26)."' ";
   $strSQL .= ",'".$xlSheet1->Cells->Item($i,27)."','".$xlSheet1->Cells->Item($i,28)."' ";
   $strSQL .= ",'".$xlSheet1->Cells->Item($i,29)."','".$xlSheet1->Cells->Item($i,30)."') ";
   $strSQL .= "('".$xlSheet1->Cells->Item($i,31)."','".$xlSheet1->Cells->Item($i,32)."' ";
   $strSQL .= ",'".$xlSheet1->Cells->Item($i,33)."','".$xlSheet1->Cells->Item($i,34)."' ";
   mysql_query($strSQL);
   
  }
 }
 if($strSQL){ echo"Import เรียบร้อยแล้ว";}
 else{echo"ไม่สามารถ Import ได้";}
 //*** Close MySQL ***//
 @mysql_close($objConnect);

 //*** Close & Quit ***//
 $xlApp->Application->Quit();
 $xlApp = null;
 $xlBook = null;
 $xlSheet1 = null;
 
?>





 

30 พ.ค. 2553 3 2,624

ลอง echo   $strSQL ออกมาดูก่อน mysql_query($strSQL); ว่าคำสั่งมันถูกต้องมั้ย มีอะไรผิดพลาดหรือเปล่า

และลองเอาคำสั่งที่ได้ไปทดสอบบน phpmyadmin ดูว่ามันทำงานได้ตามต้องการหรือเปล่า ถ้ามีข้อผิดพลาด phpmyadmin สามารถแจ้งข้อผิดพลาดให้เรารู้ได้
#1

มันฟ้องแบบนี้ค่ะ  เป็นเพราะอะไรหรอคะ


 

คำค้น SQL:

$strSQL = "";

MySQL แสดง: เอกสารอ้างอิง

#1064 - 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 '$strSQL = ""' at line 1
 

#2

555+++

เห็นชัดๆว่าค่าในตัวแปร $strSQL ไม่ถูกต้อง ดังนั้นก็กลับไปแก้ไขสิครับ ว่าผิดตรงไหน

อย่างแรก ให้เดาก่อนว่า ค่าในตัวแปรนี้ ควรตะมีอะไรบ้าง (ค่าที่ถูกต้อง) ซึ่งถ้าเขียนคำสั่งเองก็น่าจะรู้
อย่างที่สอง กลับไปทวนดูว่าหายตรงไหน

ถ้าจะถามว่าผิดตรงไหนก็สุดที่จะเดาครับ อาจผิดที่ class ก็ได้ หรือเขียนรูปแบบผิด ซึ่งถ้ารู้ว่า ค่าควรจะเป็นเช่นไรก็ให้ไล่ย้อนกลับไปก็จะง่ายขึ้น
#3
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^