|
|
|
สอบถาม การวนลูปมาบันทึกข้อมูลหน่อยครับ มันเข้าไม่ครบทุก Record สาเหตุเกิดจากอะไรได้บ้าง |
|
|
|
|
|
|
|
ตัวอย่างโค้ดนะครับ
Code (PHP)
<?php
//ตัวแปร array ต่างๆ ก่อนหน้านี้
for($i=min(array_keys($tid));$i<=max(array_keys($tid));$i++){
$sel_a1 = $tid[$i];
$sel_a2 = $tname[$i];
$sel_b1 = $term[$i];
$sel_b2 = $years[$i];
$sel_b3 = $rid[$i];
$sel_b4 = $sid[$i];
$sel_b5 = $sname[$i];
$sel_b6 = $c[$i];
$sel_b7 = $p[$i];
$sel_b8 = $cg[$i];
$sel_b9 = $ps[$i];
$sel_b10 = $ss[$i];
$sel_c1 = $id[$i];
$sel_c2 = $stuname[$i];
$sel_c4 = $cname[$i];
$sel_c6 = $gid[$i];
$sel_d1 = $sm[$i];
$sel_e1 = $as[$i];
//ทำการเช็คว่ามีข้อมูลดังกล่าวในตารางนี้หรือไม่
//ถ้ามี ให้ Insert
//ถ้าไม่มี ให้ Update
$sql = "
SELECT
COUNT(id)
FROM
TableStudy
WHERE
(id = :id)
AND (term = :term)
AND (years = :years)
AND (refid = :rid)
AND (cgroup = :cg)
AND (gid = :gid)";
//มีข้อมูล ให้ Insert
$insSql = "
INSERT INTO
TableStudy
(tid, term, years, refid, cgroup, id, gid, sm, as, sa)
VALUES
(:tid, :term, :years, :rid, :cgroup, :id, :gid, :sm, :as, :sa)";
$prmIns = array(":tid"=>$tid[$i], ":term"=>$term[$i], ":years"=>$years[$i], ":rid"=>$rid[$i], ":cgroup"=>$cg[$i], ":id"=>$id[$i], ":gid"=>$gid[$i], ":sm"=>$sm[$i], ":as"=>$as[$i], ":sa"=>$as[$i]);
$qryIns = $conn->prepare($insSql);
if(!$qryIns->execute($prmIns)){
echo '<script type="text/javascript">alert("ไม่สามารถบันทึกข้อมูลได้");history.back();</script>';
exit();
}
//ไม่มีข้อมูลให้ update
...
}
?>
ปัญหาคือ ข้อมูลจาก array น่าจะได้มาครบ แต่จะเข้ามา Insert ไม่ครบทุก array นะครับ บางทีขาดไป 1 บางทีขาดไป 4-5 บางทีขาดไป 20 record ซึ่งไม่แจ้ง error อะไร เพียงแต่มันเข้าไปไม่ครบนะครับ
อยากทราบว่าสาเหตุมันเกิดจากอะไรได้บ้าง ควรแก้ไขอย่างไร เพราะเป็นมาสักพักแล้วครับ แล้วผมลองในเครื่องตัวเองมันไม่เคยเจอปัญหานี้ แต่ถ้าบนเซิฟเวอร์ มันกลับเกิดปัญหา ขอความกรุณาด้วยครับ
Tag : PHP, Ms SQL Server 2012
|
ประวัติการแก้ไข 2016-12-19 09:57:15 2016-12-19 10:01:36
|
|
|
|
|
Date :
2016-12-19 09:55:41 |
By :
angelkiller9 |
View :
751 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดูครับ ว่าเก็บค่าอะไร แล้ว มันพอจะนำไปตรวจาอบได้
|
|
|
|
|
Date :
2016-12-19 11:37:12 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|