 |
insert ข้อมูลลงฐานข้อมูลได้ไม่ครบครับ ไม่ได้อยู่ฟิลเดียว |
|
 |
|
|
 |
 |
|
ผม insert ข้อมูลลงฐานข้อมูลได้ครับ แต่มีอยู่ฟิลนึงที่มันไม่ยอมบันทึกให้ คือฟิล subject ครับ
ลองดู code นะครับ
$sql="select * from $tb";
$db_query=mysql_db_query($db,$sql);
$num_rows = mysql_num_rows($db_query);
$nr=$num_rows+1;
mysql_query("insert into $tb (no,user_name,subject,date,full_score,your_score)
values('$nr','$your_name','$subj_test','$date_test','$full_point','$your_point')")
or die ("add ลงฐานข้อมูลไม่ได้ ");
พอ echo subj_test ก็มีการส่งค่ามาครับ
Tag : PHP
|
|
 |
 |
 |
 |
Date :
2010-10-11 02:25:27 |
By :
mix |
View :
1212 |
Reply :
11 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
การตั้งชื่อฟิลหรือตัวแปร ห้ามตั้งตรงกับ keyword หรือคำสงวน ตรวจสอบ subject ว่าเป็นหรือเปล่า
|
 |
 |
 |
 |
Date :
2010-10-11 08:21:56 |
By :
narubet |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมว่าลองเอา ฟิลด์ subject ออกก่อนดีไหมครับ
mysql_query("insert into $tb (no,user_name,date,full_score,your_score)
values('$nr','$your_name','$date_test','$full_point','$your_point')")
or die ("add ลงฐานข้อมูลไม่ได้ ");
ถ้ามัน insert ได้ ก็คงเพราะฟิลด์ subject ให้ตรวจสอบดูว่า เกิดจากอะไร ที่พบบ่อยคือ
1. ชนิดของข้อมูลที่จะใส่เข้า ไม่สอดคล้องกับที่กำหนดไว้ในฐานข้อมูล เช่น ในฐานกำหนดเป็นวันที่ แต่ใส่ตัวเลขเข้าไปมันก็ไม่เข้า
2. ตรวจดูความยาวที่กำหนดในฐาน ให้เพียงพอที่จะใส่ข้อมูล
3. พิมพ์ชื่อฟิลด์ผิด ไม่มีฟิลด์นั้นๆในตารางนั้นๆ
4. ในฐานข้อมูลกำหนดให้ฟิลด์นั้น เป็น primary key หรือ unique แต่ข้อมูลที่จะใส่เข้าไปซ้ำกับที่มีอยู่แล้ว มันก็ไม่ยอมเข้า
|
 |
 |
 |
 |
Date :
2010-10-11 08:25:25 |
By :
สกล |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มี error ไหมครับ
|
 |
 |
 |
 |
Date :
2010-10-11 09:05:52 |
By :
chubichane |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่มี error เลยครับ
|
 |
 |
 |
 |
Date :
2010-10-12 19:55:08 |
By :
mix |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
echo $sql = "insert into $tb (no,user_name,subject,date,full_score,your_score) values ('$nr','$your_name','$subj_test','$date_test','$full_point','$your_point')";
mysql_query($sql) or die (mysql_error());
|
 |
 |
 |
 |
Date :
2010-10-12 20:33:21 |
By :
PlaKriM |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตามคุณ สกล นะครับ
1. ชนิดของข้อมูลเป็นแบบ varchar ครับ ผมมีอีกตารางนึงชื่อฟิลเหมือนกัน ข้อมูลชนิดเดียวกัน แต่ไม่มีปัญหาอะไรครับ
2. ความยาวก็คงพอแล้วนะครับ ผมใส่ไว้ตั้ง 50 ครับ
3. ชื่อก็ไม่น่าจะผิดครับ
4. ในฐานข้อมูลไม่ได้กำหนดให้ เป็น primary key หรือ unique แต่อย่างใดครับ
ลองตามคุณ PlaKriM แล้วขึ้นแบบนี้ครับ
insert into score (no,user_name,subject,dates,full_score,your_score) values ('7','dao','โอเน็ตภาษาไทย','10/10/13','1','1')Duplicate entry '7' for key 1
ตัวแปรมันมีค่าทุกตัวเลยครับ แต่ไม่เข้าใจว่าทำไมมันไม่บันทึกครับ หรือว่าเกิดจากตัวแปรซ้ำกันรึปล่าวครับ
คือผมติดต่อฐานข้อมูลสองตารางในหน้าเดียวกัน มันเกี่ยวมั้ยครับ
***เพิ่มเติมครับ คือตอนผมจะดึงขึ้นมาแสดง ก็มีปัญหาตรงฟิล $subject อีกครับ $num_rows มีค่าเป็น 0 ทั้งที่ในฐานข้อมูล
มีข้อมูลอยู่ ดู code นะครับ
$sql="select * from $tb where user_name='$unl' and subject='$r_list' order by your_score DESC";
$db_query=mysql_db_query($db,$sql);
$num_rows=mysql_num_rows($db_query);
หรือ
include ("host_score.php");
$sql="select * from $tb where subject='$r_list' order by your_score DESC";
$db_query=mysql_db_query($db,$sql);
$num_rows=mysql_num_rows($db_query);
ไม่ได้ทั้งสองอย่าง แต่ถ้าเอา subject='$r_list' ออก ก็แสดงได้ครับ
ขอบคุณมากครับที่ช่วยดู ทุกท่านเลย จะพยายามต่อไปครับ
|
 |
 |
 |
 |
Date :
2010-10-13 06:59:15 |
By :
mix |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Duplicate entry '7' for key 1
ลองหาข้อมูลดูแล้ว ก็ยังไม่เข้าใจครับ ว่ามันซ้ำยังไง
|
 |
 |
 |
 |
Date :
2010-10-13 08:17:40 |
By :
mix |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
http://fradius.coe.psu.ac.th/content/view/136/1/
ตามนี้อ่ะครับ ไปเจอมา อธิบายให้หน่อยนะครับ
|
 |
 |
 |
 |
Date :
2010-10-13 08:19:13 |
By :
mix |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Duplicate entry '7' for key 1 คือ field no ใน db ของคุณมันมี 7 เเล้วมันซ้ำครับ เลย error เเบบนี้
|
 |
 |
 |
 |
Date :
2010-10-13 09:32:49 |
By :
- - |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้แล้วครับ
คือว่าตอนติดต่อฐานข้อมูลผมกำหนดให้เป็น แบบ utf8 ตอน Insert มันก็ Insert เป็นภาษา utf8 พอเช็คเงื่อนไขซึ่งเป็นภาษาไทย
มันก็เลยฟ้องว่าไม่มีข้อมูล ($numrows=0) ครับผม บังเอิญผมลองเปลี่ยนเป็นแบบ tis-620 ดูก็ใช้ได้แล้วครับ เส้นผมบังภูเขานะเนี่ย
ขอบคุณทุกคนอีกครั้งนะครับ
|
 |
 |
 |
 |
Date :
2010-10-14 03:34:57 |
By :
mix |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เหมือนกันกคับ insert into แล้วข้อมูลไม่ครบ
|
 |
 |
 |
 |
Date :
2011-02-04 11:49:58 |
By :
ฟ้า |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|