|
|
|
ทำหน้า Insert Multiple Record แต่เวลาบันทึกมันไม่ลงฐานข้อมูลค่ะ |
|
|
|
|
|
|
|
ทำหน้า Insert Multiple Record แต่เวลาบันทึกมันไม่ลงฐานข้อมูลค่ะ
ทำตาม
https://www.thaicreate.com/php/php-mysql-add-insert-multiple-record.html
แต่ไม่ได้ค่ะ รบกวนด้วยนะคะ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>
<body>
<form action="Job_AddSave.php" name="frmAdd" method="post">
Select Line :
<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
<?
for($i=1;$i<=50;$i++)
{
if($_GET["Line"] == $i)
{
$sel = "selected";
}
else
{
$sel = "";
}
?>
<option value="<?=$_SERVER["PHP_SELF"];?>?Line=<?=$i;?>" <?=$sel;?>><?=$i;?></option>
<?
}
?>
</select>
<table width="1259" border="1">
<tr align="center" valign="middle">
<th width="42"> <div align="center">id</div></th>
<th width="41"> <div align="center">รหัส จนท. </div></th>
<th width="218"> <div align="center">ชื่อ - สกุล</div></th>
<th width="316"> <div align="center">กิจกรรม </div></th>
<th width="31"> <div align="center">วัน </div></th>
<th width="315"> <div align="center">วันที่</div></th>
<th width="79"> <div align="center">จำนวนเงิน</div></th>
</tr>
<?
$line = $_GET["Line"];
if($line == 0){$line=1;}
for($i=1;$i<=$line;$i++)
{
?>
<tr>
<td><div align="center"><input type="text" name="txt_id<?=$i;?>" size="2"></div></td>
<td><input type="text" name="txt_UserID<?=$i;?>" size="2"></td>
<td><input type="text" name="txt_Name<?=$i;?>" size="20"></td>
<td><div align="center"><input type="text" name="txt_job<?=$i;?>" size="50"></div></td>
<td align="right">
<select name="dayweek<?=$i;?>">
<option value="02">จันทร์</option>
<option value="03">อังคาร</option>
<option value="04">พุธ</option>
<option value="05">พฤหัส</option>
<option value="06">ศุกร์</option>
<option value="07">เสาร์</option>
<option value="01">อาทิตย์</option>
</select>
</td>
<td align="right">วัน
<select name="day<?=$i;?>">
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
เดือน
<select name="mon<?=$i;?>">
<option value="01">มกราคม</option>
<option value="02">กุมภาพันธ์</option>
<option value="03">มีนาคม</option>
<option value="04">เมษายน</option>
<option value="05">พฤษภาคม</option>
<option value="06">มิถุนายน</option>
<option value="07">กรกฎาคม</option>
<option value="08">สิงหาคม</option>
<option value="09">กันยายน</option>
<option value="10">ตุลาคม </option>
<option value="11">พฤศจิกายน </option>
<option value="12">ธันวาคม </option>
</select>
ปี
<select name="year<?=$i;?>">
<option value="2556">2556</option>
<option value="2557">2557</option>
<option value="2558">2558</option>
<option value="2559">2559</option>
<option value="2560">2560 </option>
<option value="2561">2661</option>
<option value="2562">2562 </option>
<option value="2563">2563 </option>
<option value="2564">2564 </option>
<option value="2565">2565 </option>
<option value="2566">2566 </option>
<option value="2567">2567</option>
<option value="2568">2568 </option>
<option value="2569">2569 </option>
<option value="2570">2570 </option>
</select>
<? $today_date = date("Y-m-d H:i:s"); ?><input name="today<?=$i;?>" type="hidden" id="today" size="40" align="center" value="<?= $today_date;?>"/>
</td>
<td align="right">
<select name="money<?=$i;?>">
<option value="300">300</option>
<option value="600">600</option>
</select>
</td>
<?
}
?>
</tr>
</table>
<input type="submit" name="submit" value="submit">
<input type="hidden" name="hdnLine" value="<?=$i;?>">
</form>
Code (PHP)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div align="center"><?php require_once('head_ot.html'); ?></div>
<?
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("ot_mec");
//$date = date("Y-m-d H:i:s");
//mysql_query("INSERT INTO XXX (datenow) VALUES (".$time.");");
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
if($_POST["txt_id$i"] != "")
{
$dayweek=$_POST["dayweek"];
$date=$day.$mon.$year;
$day = $_POST['day'];
$mon = $_POST['mon'];
$year = $_POST['year'];
$money=$_POST['money'];
$strSQL = "INSERT INTO job ";
$strSQL .="(id,UserID,Name,job,job_day,job_date,amount_of_money,today) ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST["txt_id"]."','".$_POST["txt_UserID"]."','".$_POST["txt_Name"]."' ";
$strSQL .=",'".$_POST["txt_job"]."',$dayweek,$date,$money,'".$_POST["today"]."') ";
$objQuery = mysql_query($strSQL);
/* if($objQuery)
{
//echo "Save Done.";
echo "<br><br><br>บันทึกข้อมูลเรียบร้อยแล้วค่ะ";
}
else
{
echo "ไม่สามารถบันทึกข้อมูลได้ [".$strSQL."]";
}
//mysql_close($objConnect); */
}
}
echo "Save Done. Click <a href='#'>here</a> to view.";
mysql_close($objConnect);
?>
</body>
</html>
ฐานข้อมูลค่ะ
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2013-12-12 19:15:06 |
By :
momiya123 |
View :
1305 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2013-12-13 06:22:32 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดูดีๆ ครับ ผิดที่ query นี่แหละ
Code
$strSQL = "INSERT INTO job ";
$strSQL .="(id,UserID,Name,job,job_day,job_date,amount_of_money,today) ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST["txt_id"]."','".$_POST["txt_UserID"]."','".$_POST["txt_Name"]."' ";
$strSQL .=",'".$_POST["txt_job"]."',$dayweek,$date,$money,'".$_POST["today"]."') ";
$objQuery = mysql_query($strSQL);
คุณไม่ได้ครอบด้วย ' มันจึงกลายเป็น query ที่ error ครับ
จริงๆ เขียนให้มันอ่านง่ายๆ ก็ได้นะครับ ไม่ต้องใช้ $strSQL .= หรือ . อะไรเยอะแยะแบบนั้น ผมเห็นมาหลายกระทู้แล้ว จริงๆ ปัญหามันไม่ได้มีอะไรเลย แต่ปัญหาเกิดจากการเขียนแบบนี้ เพราะมันอ่านยาก หาที่ผิดยาก แก้ไขก็ยาก ไม่รู้กี่กระทู้แล้วที่ตั้งเพราะผิดพลาดจากการเขียนแบบนี้
ลองเปลี่ยนมาเขียนให้สะอาดๆ แบบนี้ดีกว่าครับ
$strSQL = "
INSERT INTO job
(id, UserID ,Name, job, job_day, job_date, amount_of_money, today)
VALUES
(
'$_POST[txt_id]',
'$_POST[txt_UserID]',
'$_POST[txt_Name]',
'$_POST[txt_job]',
'$dayweek',
'$date',
'$money',
'$_POST[today]'
)
";
$objQuery = mysql_query($strSQL);
แล้วก็ลองหาอ่านเรื่อง sql injection ด้วยนะครับ เพราะการใช้ตัวแปรเข้าไปสร้าง query ตรงๆ แบบนี้มันไม่ปลอดภัย โดน hack ได้ง่ายมากๆ
|
|
|
|
|
Date :
2013-12-13 07:08:46 |
By :
K |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณทุกท่านมาก ๆ นะคะ จะพยายามให้มากกว่านี้ค่ะ
|
|
|
|
|
Date :
2013-12-15 10:15:31 |
By :
momiya123 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|