|
|
|
Insert ข้อมูลลง Database ไม่ได้ (ข้อมูลไม่แสดงใน Database แต่มีการเพิ่ม id ที่เป็น auto-increment) |
|
|
|
|
|
|
|
Code (PHP)
<?
$host="localhost";
$username="root";
$password="aim";
$dbname="hris";
$link = mysql_connect ($host,$username,$password) or die ("connect Mysql Error");
mysql_select_db ($dbname,$link) or die("Select $dbname Error");
?>
<?
$id = $_POST['id'];
$emp_id = $_POST['emp_id'];
$emp_name = $_POST['emp_name'];
$emp_lastname = $_POST['emp_lastname'];
$emp_level = $_POST['emp_level'];
$emp_org = $_POST['emp_org'];
$emp_pos = $_POST['emp_pos'];
$sup_id = $_POST['sup_id'];
$emp_tel = $_POST['emp_tel'];
$username =$_POST['username'];
$password = $_POST['password'];
$per_id = $_POST['per_id'];
$emp_create_date = $_POST['emp_create_date'];
$sql = "insert into employee values
('','$emp_id','$emp_name','$emp_lastname','$emp_level','$emp_org','$emp_pos','$sup_id','$emp_tel','$username','$password','$per_id','$emp_create_date')";
$result = mysql_query($sql) or die ("SQL Error");
?>
<?
echo "<script>
alert('Add User OK');
window.location='form_add_user.php';
</script>";
?>
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2011-05-15 13:30:16 |
By :
aimmy |
View :
3893 |
Reply :
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โครงสร้างตาราง `employee`
--
Code
CREATE TABLE `employee` (
`id` int(7) NOT NULL auto_increment,
`emp_id` varchar(8) NOT NULL,
`emp_name` varchar(30) NOT NULL,
`emp_lastname` varchar(50) NOT NULL,
`emp_level` varchar(30) NOT NULL,
`emp_org` varchar(80) NOT NULL,
`emp_pos` varchar(100) NOT NULL,
`sup_id` varchar(8) NOT NULL,
`emp_tel` varchar(8) NOT NULL,
`username` varchar(20) NOT NULL,
`password` varchar(10) NOT NULL,
`per_id` int(1) NOT NULL,
PRIMARY KEY (`id`)
)
|
|
|
|
|
Date :
2011-05-15 13:35:10 |
By :
aim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่อยากมีปัญหาอย่าขี้เกียจเขียนโค๊ดครับ
insert into table values ('', 'aa','bb','cc'); แบบนี้จะทำงานในเมื่อเครื่องคุณ set sql mode โดยไม่ใส่ STRICT_TRANS_TABLES ครับ
แต่ถ้าอยากให้มันทำงานได้ทุก server ต้องระบุฟิลด์ไป แล้วไม่ต้องใส่ ค่าให้ฟิลด์ที่เป็น auto increment
insert into table (aa,bb,cc) values ('aa','bb','cc');
|
|
|
|
|
Date :
2011-05-15 13:44:33 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณ PlaKriM คะ
ลองทำตามที่คุณแนะนำแล้วด้านล่าง แต่ว่ายังไม่ได้ค่ะ
Code (PHP)
$sql = "insert into employee('emp_id','emp_name','emp_lastname','emp_level','emp_org','emp_pos','sup_id','emp_tel','username','password','per_id','emp_create_date') values
('','$emp_id','$emp_name','$emp_lastname','$emp_level','$emp_org','$emp_pos','$sup_id','$emp_tel','$username','$password','$per_id','$emp_create_date')";
และลองเพิ่ม Code ด้านล่าง เจอว่ามันเกิด Error Adding to table ค่ะ
Code (PHP)
$result = mysql_query( $sql , $link );
if ($result==1)
print("Adding to table OK.");
else
print("Error Adding to table. ");
รบกวนอีกครั้งนะคะ และต้องขอบคุณมากสำหรับคำแนะนำค่ะ
|
|
|
|
|
Date :
2011-05-15 13:56:31 |
By :
aim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
auto increment คือ $id ค่ะ และใน Code ก้อไม่ได้ใส่อ่ะค่ะ แต่ก้อยังไม่ได้อยู่ดีค่ะ
ขอบคุณค่ะ
|
|
|
|
|
Date :
2011-05-15 14:07:47 |
By :
aim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ข้างหน้า $emp_id ที่เป็นค่าว่างคืออะไรครับ ถ้าID เป็น auto increment ไม่ต้องใส่ values('$emp_id') ครับเพราะมัน จะ run ค่าเองอยู่แล้ว ส่วนที่ insert into employee('emp_id') ตัว emp_id นี้ก็ไม่ต้องใส่ครับ
สรุปง่ายๆ คือ ไม่ต้องเอาชื่อฟิวล์ emp_id และไม่ต้องใส้ค่าตัวแปล $emp_id ใน values ครับ น่าจะได้นะครับ
ปกติผมเขียนแบบนี้นะ Code (PHP)
$sql = "insert into employee('emp_name','emp_lastname','emp_level','emp_org','emp_pos','sup_id','emp_tel','username','password','per_id','emp_create_date') values
2.
('$emp_name','$emp_lastname','$emp_level','$emp_org','$emp_pos','$sup_id','$emp_tel','$username','$password','$per_id','$emp_create_date')";
|
|
|
|
|
Date :
2011-05-15 15:03:51 |
By :
weenzezar |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณ weenzez@r คะ
$id เป็น auto increment
$emp_id ไม่ได้เป็น auto increment ค่ะ
รบกวนด้วยนะคะ
|
|
|
|
|
Date :
2011-05-15 15:44:06 |
By :
aim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้า id ของ emp_id ไม่ได้เป็น auto increment หรอ แบบนี้ได้ไหม
Code (PHP)
$sql = "insert into employee('emp_id','emp_name','emp_lastname','emp_level','emp_org','emp_pos','sup_id','emp_tel','username','password','per_id','emp_create_date') values
2.
('$emp_id','$emp_name','$emp_lastname','$emp_level','$emp_org','$emp_pos','$sup_id','$emp_tel','$username','$password','$per_id','$emp_create_date')";
ปล. ผมไม่เข้าใจ ตรงนี้อ่ะ $id = $_POST['id']; มันส่งมาจาก form หรอ ถ้าเป็น auto ก็ต้องไม่ส่งมาสิใช่ไหม
ได้ print_r($_POST); ดูไหมว่าค่ามันถูกต้องหรือป่าว
|
|
|
|
|
Date :
2011-05-15 16:05:30 |
By :
weenzezar |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$sql = "insert into employee('emp_id','emp_name','emp_lastname','emp_level','emp_org','emp_pos','sup_id','emp_tel','username','password','per_id','emp_create_date') values
('','$emp_id','$emp_name','$emp_lastname','$emp_level','$emp_org','$emp_pos','$sup_id','$emp_tel','$username','$password','$per_id','$emp_create_date')";
ตัวหนาๆ อะเอาออกไป
|
|
|
|
|
Date :
2011-05-15 21:30:06 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|