|
|
|
ตรวจสอบโค้ต PHP INSERT INTO ให้หน่อยครับไม่สามารถบันทึกลงฐานข้อมูลได้ |
|
|
|
|
|
|
|
ตรวจสอบโค้ต PHP INSERT INTO ให้หน่อยครับไม่สามารถบันทึกลงฐานข้อมูลได้ ติด " ERROR : ไม่สามารถเพิ่มข้อมูลได้ "
ลอง echo ค่าที่รับมาจากฟอร์มแล้ว รับได้ทุกตัวครับ แต่มาติดปัญหาที่คำสั่ง
$result=mysql_db_query($dbname,$sql);
if ($result) {
echo "<h3> เพิ่มข้อมูลเรียบร้อยแล้ว </h3> ";
}else {
echo "<h3> ERROR : ไม่สามารถเพิ่มข้อมูลได้ </h3>";
}
========================================================================================
โค๊ดหน้าฟอร์ม น่ะครับ
========================================================================================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style5 {font-family: sans-serif; font-size:12; }
.style6 {font-size: 12}
-->
</style>
</head>
<body>
<form id="form1" name="form1" method="post" action="AddData.php"target="_self">
<table width="763" border="0">
<tr>
<td width="145"><div align="right"><span class="style5">รหัสบัตรประชาชน:</span></div></td>
<td width="226"><span class="style5">
<label>
<input name="idemp" type="text" id="idemp" maxlength="13" />
</label>
</span></td>
<td width="156"><div align="right"><span class="style5">เบอร์โทร. (บ้าน) : </span></div></td>
<td width="218"><span class="style5">
<label>
<input name="tel" type="text" id="tel" />
</label>
</span></td>
</tr>
<tr>
<td><div align="right"><span class="style5">ชื่อ : </span></div></td>
<td><span class="style5">
<label>
<input name="name" type="text" id="name" />
</label>
</span></td>
<td><div align="right"><span class="style5">เบอร์โทร. (มือถือ) : </span></div></td>
<td><span class="style5">
<label>
<input name="mobile" type="text" id="mobile" />
</label>
</span></td>
</tr>
<tr>
<td><div align="right"><span class="style5">สกุล : </span></div></td>
<td><span class="style5">
<label>
<input name="surname" type="text" id="surname" />
</label>
</span></td>
<td><div align="right"><span class="style5">ชื่อธนาคาร : </span></div></td>
<td><span class="style5">
<label>
<input name="bankname" type="text" id="bankname" />
</label>
</span></td>
</tr>
<tr>
<td><div align="right"><span class="style5">เพศ :</span></div></td>
<td><span class="style5">
<label>
<select name="sex" id="sex">
<option value="0" selected="selected">ระบุเพศ</option>
<option value="ชาย">ชาย</option>
<option value="หญิง">หญิง</option>
</select>
</label>
</span></td>
<td><div align="right"><span class="style5">เลขที่ บ/ช : </span></div></td>
<td><span class="style5">
<label>
<input name="bankno" type="text" id="bankno" />
</label>
</span></td>
</tr>
<tr>
<td><div align="right"><span class="style5">วัน/เดือน/ปี เกิด : </span></div></td>
<td><span class="style5">
<label>
<input name="birthday" type="text" id="birthday" />
</label>
</span></td>
<td><div align="right"><span class="style5">สาขา : </span></div></td>
<td><span class="style5">
<label>
<input name="bankbln" type="text" id="bankbln" />
</label>
</span></td>
</tr>
<tr>
<td><div align="right"><span class="style5">ที่อยู่ :</span></div></td>
<td><span class="style5">
<label>
<textarea name="address" cols="30" rows="5" id="address"></textarea>
</label>
</span></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><div align="right"><span class="style5">แผนก :</span></div></td>
<td><span class="style5">
<label>
<select name="depart" id="depart">
<option value="0" selected="selected">เลือก แผนก</option>
<option value="ขาย">แผนก ขาย</option>
<option value="บัญชี">แผนก บัญชี</option>
<option value="สโตร์">แผนก สโตร์</option>
<option value="ขนส่ง">แผนก ขนส่ง</option>
</select>
</label>
</span></td>
<td><div align="right"><span class="style6"></span></div></td>
<td><span class="style6"></span></td>
</tr>
<tr>
<td><div align="right"></div></td>
<td><div align="right">
<label>
<input type="submit" name="Submit" value="บันทึก" />
</label>
</div></td>
<td><div align="left">
<label>
<input type="reset" name="Submit2" value="Reset" />
</label>
</div></td>
<td> </td>
</tr>
</table>
</form>
</body>
</html>
=====================================================
โค้ด รับค่าจากฟอร์ม และบันทึกลงฐานข้อมูลครับ
=====================================================
<?
//รับค่าตัวแปรจากฟอร์ม
$idemp=$_POST['idemp'];
$name=$_POST['name'];
$surname=$_POST['surname'];
$sex=$_POST['sex'];
$birthday=$_POST['birthday'];
$address=$_POST['address'];
$depart=$_POST['depart'];
$tel=$_POST['tel'];
$mobile=$_POST['mobile'];
$bankname=$_POST['bankname'];
$bankno=$_POST['bankno'];
$bankbln=$_POST['bankbln'];
// กำหนดเงื่อนไข ก่อนบันทึกลงฐานข้อมูล
if ($idemp=="") {
echo " <a href=javascript:history.go(-1);>กรุณากรอกรหัสประชาชน</a>";
exit;
}
if ($name=="") {
echo " <a href=javascript:history.go(-1);>กรุณากรอกชื่อพนักงาน</a> ";
exit;
}
if ($surname =="") {
echo " <a href=javascript:history.go(-1);>กรุณากรอกชื่อสกุลพนักงาน </a>";
exit;
}
if ($sex =="0") {
echo " <a href=javascript:history.go(-1);>กรุณาระบุเพศ</a>";
exit;
}
if ($birthday =="") {
echo " <a href=javascript:history.go(-1);>กรุณาใส่วันเดือนปีเกิด</a> ";
exit;
}
if ($address =="") {
echo " <a href=javascript:history.go(-1);>กรุณาระบุที่อยู่ของพนักงาน </a>";
exit;
}
if ($depart =="0") {
echo " <a href=javascript:history.go(-1);>กรุณาระบุแผนก</a> ";
exit;
}
//ติดต่อฐานข้อมูล
$host="localhost";
$user="root";
$pw="movement";
$dbname="nreapp";
$conn=mysql_connect ($host,$user,$pw);
if (!$conn) {
echo "<h3> ERROR : ไม่สามารถติดต่อฐานข้อมูลได้</hr3>";
exit ();
}
//บันทึกข้อมูลลงฐานข้อมูล ยกเว้นไฟล์ภาพ
$sql= "insert into app_empolyee values(null,'$idemp','$name','$surname','$sex','$birthday','$address','$depart','$tel','$mobile','$bankname','$bankno','$bankbln')";
mysql_query("set NAMES utf8");
// ตรวจสอบเงื่อนไขชื่อภาพที่ซ้ำก่อนทำการบันทึก
$result=mysql_db_query($dbname,$sql);
if ($result) {
echo "<h3> เพิ่มข้อมูลเรียบร้อยแล้ว </h3> ";
}else {
echo "<h3> ERROR : ไม่สามารถเพิ่มข้อมูลได้ </h3>";
}
mysql_close() ;
?>
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2010-08-06 11:38:45 |
By :
movefy |
View :
6848 |
Reply :
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
mysql_db_query($dbname,$sql) or die(mysql_error());
ดูครับว่า error เพราะอะไร
|
|
|
|
|
Date :
2010-08-06 11:41:50 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ERROR "Column count doesn't match value count at row 1" ครับ
|
|
|
|
|
Date :
2010-08-06 11:47:04 |
By :
movefy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้คำตอบแล้วครับ การ insert ควรจะระบุชื่อฟิวสด์ไปด้วยน่ะครับ เพราะตอนนี้มันไม่ match กันครับ จำนวน value กับจำนวนฟิวด์
Go to : SQL INSERT
|
ประวัติการแก้ไข 2010-08-06 14:21:13
|
|
|
|
Date :
2010-08-06 14:17:48 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น่าจะลองเพิ่มบรรทัด mysql_select_db(nreapp) ก่อน
mysql_select_db(nreapp)
$sql= "insert into app_empolyee values(null,'$idemp','$name','$surname','$sex','$birthday','$address','$depart','$tel','$mobile','$bankname','$bankno','$bankbln')";
mysql_query("set NAMES utf8");
// ตรวจสอบเงื่อนไขชื่อภาพที่ซ้ำก่อนทำการบันทึก
$result=mysql_db_query($dbname,$sql);
if ($result) {
echo "<h3> เพิ่มข้อมูลเรียบร้อยแล้ว </h3> ";
}else {
echo "<h3> ERROR : ไม่สามารถเพิ่มข้อมูลได้ </h3>";
}
mysql_close() ;
|
|
|
|
|
Date :
2010-08-06 14:18:54 |
By :
nprawit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครับ ได้แล้วครับ ต้องเพิ่มฟิว เข้าไปด้วยถึงจะได้ครับ ก่อนหน้านี้ทดลองแบบไม่ระบุฟิว แต่ทดลองบันทึกแค่ 2ฟิว ก็ได้อยู่ แต่ถ้าเยอะๆสงสัยต้องระบุทุกครั่ง
$sql= "insert into app_empolyee [font=Verdana](idemp,name,surname,sex,birthday,address,depart,tel,mobile,bankname,bankno,bankbln) [/font] values('$idemp','$name','$surname','$sex','$birthday','$address','$depart','$tel','$mobile','$bankname','$bankno','$bankbln')";
คำสั่งนี้ (mysql_error()); ใช้ได้ผลดีครับ ทำให้รู้ว่า ERROR เพราะอะไร ขอบคุณมากครับ
|
|
|
|
|
Date :
2010-08-06 15:24:45 |
By :
movefy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่จำเป็นครับไม่ต้องระบุก็ได้ครับแต่ ถ้าไม่ต้องการใส่ทุกค่า ก็ให้ระบุฟิวส์ไปด้วยครับเช่น
มี field (name,lastname,tel,address) ถ้าเราต้องการใส่แค่2ค่าคือ name กับ lastname ก็ให้ระบุฟิวส์ด้วยครับฟิวส์ไหนไม่ต้องการใส่ก็ไม่ต้องระบุ
เช่น
$sql="insert into table(name,lastname) value('$name','$lastname')";
อะรัยอย่างงี้ครับ
ถ้าไม่ชัวร์ก็เช็ค Error ด้วยครับ เช่นต่อท้ายคำสั่งนี้กรณีบันทึกไม่สำเร็จ
เช่น
$result=mysql_db_query($dbname,$sql);
if(result){ //เช็คการบันทึกถ้าผ่าน
echo"บันทึกข้อมูลสำเร็จ";
}
else{ //ถ้าเกิดข้อผิดพลาดให้แสดงข้อผิดพลาดด้วยคำสั่ง mysql_error
echo"บันทึกข้อมูลไม่สำเร็จ".mysql_error();
}
mysql_close();
|
|
|
|
|
Date :
2011-05-30 17:38:25 |
By :
นิรนาม |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
การ insert มันมีอยู่ 2 กรณีครับ
กรณีที่ 1 ต้องกำหนดฟิว และจำนวน value ให้ตรงกันครับ
เช่น $sql="insert into table(name,lastname) value('$name','$lastname')";
กรณีที่ 2 หากไม่กำหนดฟิว ก็ต้องใส่ value ให้ครบตามจำนวนฟิวในฐานข้อมูลครับ
เช่น ใน DB มีฟิวอยู่ 3 ฟิว
$sql="insert into table value('$name','$lastname','$mdate)";
รับลองครับ ตามนี้ได้ชัว 100%
|
|
|
|
|
Date :
2011-05-30 18:29:46 |
By :
slurpee55555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|