รบกวนดูโค๊ดให้หน่อยครับ เป็นการ เช็คค่าใน db ก่อนบันทึกลงจากไฟล์ excel ครับ
Code (PHP)
<?php require_once('connect.php'); ?>
<?php
mysql_query("SET NAMES UTF8");
/** PHPExcel */
require_once 'Classes/PHPExcel.php';
/** PHPExcel_IOFactory - Reader */
include 'Classes/PHPExcel/IOFactory.php';
$inputFileName = "uploads/test.xls"; //ที่เก็บไฟล์จากหน้าอัพโหลด
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($inputFileName);
$objWorksheet = $objPHPExcel->setActiveSheetIndex(0);
$highestRow = $objWorksheet->getHighestRow();
$highestColumn = $objWorksheet->getHighestColumn();
$headingsArray = $objWorksheet->rangeToArray('A1:'.$highestColumn.'1',null, true, true, true);
$headingsArray = $headingsArray[1];
$r = -1;
$namedDataArray = array();
for ($row = 2; $row <= $highestRow; ++$row) {
$dataRow = $objWorksheet->rangeToArray('A'.$row.':'.$highestColumn.$row,null, true, true, true);
if ((isset($dataRow[$row]['A'])) && ($dataRow[$row]['A'] > '')) {
++$r;
foreach($headingsArray as $columnKey => $columnHeading) {
$namedDataArray[$r][$columnHeading] = $dataRow[$row][$columnKey];
}
}
}
//*** Connect to MySQL Database ***//
$i = 0;
foreach ($namedDataArray as $result) {
$q="SELECT mem_stdid FROM chkmember WHERE mem_stdid='".$result['mem_stdid']."' ";
if(@mysql_num_rows(@mysql_query($q))>0){
$i++;
$strSQL = "";
$strSQL .= "UPDATE INTO chkmember "; //tabel ในดาต้าเบส
$strSQL .= "(mem_stdid,mem_number,mem_name,mem_lname
,mem_birth,mem_uclass,mem_named,mem_namem,mem_adr,mem_type,mem_place
,mem_district,mem_province,mem_adr1,mem_type1,mem_place1,mem_district1
,mem_province1,mem_numsd9,mem_status)"; //คอลัมในดาต้าเบส เรียงตามดาต้าเบส
$strSQL .= "VALUES ";
$strSQL .= "('".$result['mem_stdid']."','".$result['mem_number']."'
,'".$result['mem_name']."','".$result['mem_lname']."'
,'".$result['mem_birth']."','".$result['mem_uclass']."'
,'".$result['mem_named']."','".$result['mem_namem']."'
,'".$result['mem_adr']."','".$result['mem_type']."'
,'".$result['mem_place']."','".$result['mem_district']."'
,'".$result['mem_province']."','".$result['mem_adr1']."'
,'".$result['mem_type1']."','".$result['mem_place1']."'
,'".$result['mem_district1']."','".$result['mem_province1']."'
,'".$result['mem_numsd9']."','".$result['mem_status']."' )"; //คอลัมในดาต้าเบส เรียงตามดาต้าเบส
mysql_query($strSQL) or die(mysql_error());
}else{
$i++;
$strSQL = "";
$strSQL .= "INSERT INTO chkmember "; //tabel ในดาต้าเบส
$strSQL .= "(mem_stdid,mem_number,mem_name,mem_lname
,mem_birth,mem_uclass,mem_named,mem_namem,mem_adr,mem_type,mem_place
,mem_district,mem_province,mem_adr1,mem_type1,mem_place1,mem_district1
,mem_province1,mem_numsd9,mem_status)"; //คอลัมในดาต้าเบส เรียงตามดาต้าเบส
$strSQL .= "VALUES ";
$strSQL .= "('".$result['mem_stdid']."','".$result['mem_number']."'
,'".$result['mem_name']."','".$result['mem_lname']."'
,'".$result['mem_birth']."','".$result['mem_uclass']."'
,'".$result['mem_named']."','".$result['mem_namem']."'
,'".$result['mem_adr']."','".$result['mem_type']."'
,'".$result['mem_place']."','".$result['mem_district']."'
,'".$result['mem_province']."','".$result['mem_adr1']."'
,'".$result['mem_type1']."','".$result['mem_place1']."'
,'".$result['mem_district1']."','".$result['mem_province1']."'
,'".$result['mem_numsd9']."','".$result['mem_status']."' )"; //คอลัมในดาต้าเบส เรียงตามดาต้าเบส
mysql_query($strSQL) or die(mysql_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 'INTO chkmember (mem_stdid,mem_number,mem_name,mem_lname ,mem_birt' at line 1
Tag : PHP
Date :
2015-05-22 14:24:35
By :
jakkrapop
View :
631
Reply :
2
ลอง echo $strSQL; ในส่วนของ INSERT มาดูหน่อยครับ
Code (PHP)
echo $strSQL;
mysql_query($strSQL) or die(mysql_error());
Date :
2015-05-22 16:09:15
By :
mr.win
insert คงไม่ผิดครับ ที่ผิดน่าจะเป็นที่ update
44. $strSQL .= "UPDATE INTO chkmember "; //tabel ในดาต้าเบส
สีแดงเอาออกครับ และรูแปบบที่ใช้
update tablename
set fieldName='value'
, fieldname2='value2'
......
.....
.....
where condition
ส่วนต่อข้างล่างแก้ตามรูปแบบครับ
ประวัติการแก้ไข 2015-05-22 20:23:20
Date :
2015-05-22 20:20:35
By :
Chaidhanan
Load balance : Server 05