10/10/2018, 09:17

Vấn đề nhỏ khi insert dữ liệu trong php

Đây là đoạn code của em: Nhờ các bác xem giúp, nó có vấn đề ở chỗ nào mà ko insert được dữ liệu vào:

Cái khó của em là em để cái masv là auto increment và cái checkbox giới tính nên không biết chèn dữ liệu vào kiểu gì.


<?php

if(isset($_POST["insert"]))
{

if($hoten!="" or $ngaysinh!=""or $gioitinh!="" or $tendangnhap!="" or $matkhau!="")
{
$_db = mysql_connect('localhost', 'root', 'abc123');
mysql_select_db('tracnghiem', $_db);
$connection = mysql_connect("localhost","root","abc123") or die (" Không kết nối được tới cơ sở dữ liệu!");
$_db = mysql_select_db("tracnghiem", $connection) or die("Không mở được cơ sở dữ liệu!");
$masv=$_POST["masv"];
$hoten=$_POST["hoten"];
$ngaysinh=$_POST["ngaysinh"];
$gioitinh=$_POST["gioitinh"];
$tendangnhap=$_POST["tendangnhap"];
$matkhau=$_POST["matkhau"];
if (isset($_POST["gioitinh"]))
{
$gioitinh = 1;
}
else
{
$gioitinh = 0;
}
$sql= "INSERT INTO sinhvien (masv, hoten, ngaysinh, gioitinh, username, password)
VALUES ('$masv','$hoten','$ngaysinh', '$gioitinh','$tendangnhap','$matkhau')";
$result = mysql_query($sql) or die("Không chèn được dữ liệu, hãy kiểm tra lại!");
echo "Cập nhật thành công!";
}
else
{
echo("<p align=center><font color=red>Bạn phải nhập đầy đủ thông tin.!</font></p>");
}
}
?>
herofit viết 11:27 ngày 10/10/2018
dài quá ngại đọc lỗi chô nào hỏi thui bắt đọc dài quá
letruongxa viết 11:24 ngày 10/10/2018
đã lược đi rất nhiều rồi đó, ai coi họ xem cái
utoo viết 11:26 ngày 10/10/2018
bạn dùng 2 lần mysql_connect là để làm gì vậy ??
sacroyant viết 11:18 ngày 10/10/2018
Được gửi bởi utoo
bạn dùng 2 lần mysql_connect là để làm gì vậy ??
Để lần thứ nhất không connect được thì còn lần thứ 2, em database chạy đâu cho thoát

@ letruongxa :

Bạn code chuối hơn cả tớ

Vào phát đã chặn bằng lệnh if :

PHP Code:
if($hoten!="" or $ngaysinh!=""or $gioitinh!="" or $tendangnhap!="" or $matkhau!="")

Thế mà các biến dùng để kiểm tra lại được thiết lập giá trị bên trong chính cái if kiểm tra chúng thì bố bảo nó cũng đếch chạy
namduong8999 viết 11:22 ngày 10/10/2018
Để lần thứ nhất không connect được thì còn lần thứ 2, em database chạy đâu cho thoát
=)) Em lậy bác =)) =))
vn.disable viết 11:25 ngày 10/10/2018
Bạn nói thêm nó báo lôĩ nào dc ko ?
Bạn đã để masv tự động tăng thì insert vào làm gì nưã..xóa nó đi nha bạn.

Nêú là lôĩ : Không chèn được dữ liệu, hãy kiểm tra lại! thì bạn thử đôỉ
Code:
VALUES ('$hoten','$ngaysinh', '$gioitinh','$tendangnhap','$matkhau')";
thành như sau :

Code:
VALUES ('".$hoten."','".$ngaysinh."', '".$gioitinh."','".$tendangnhap."','".$matkhau."')";
Bạn còn 1 cách test lại là thay vì để values chèn theo các biến thì bạn nhập thẳng chuôĩ vào luôn để insert thử..nêú bị báo lôĩ thì có thể kết luận do làm database bị sai kiêủ dữ liệu.

Vd :values('Nguyen Thi Le','10-02-1878','nam','thile','11111');

chúc bạn thành công !

Nêú muốn code tốt ! bạn nên "chia để trị" đừng để hỗn hợp quá sẽ khó kiểm soát lôĩ. Phần connect tách ra..kiểm tra nó xem ổn định ko..dc thì dùng mãi. Phần biến ! sau khi gán biến thì nên làm trang test để echo các biến ra xem nó có đúng ko...
BabyOneMoreTime viết 11:21 ngày 10/10/2018
Làm biếng đọc code chỉ trả lời bạn xíu
Cái khó của em là em để cái masv là auto increment và cái checkbox giới tính nên không biết chèn dữ liệu vào kiểu gì.
Nếu 1 trường là auto increment thì khỏi cần chèn thủ công ,máy nó tự làm
Gender thì thường ko dùng checkbox mà dùng radio .Lấy giá trị value để chèn vào CSDL
Bài liên quan
0