- Theo câu hỏi đã đăng ban đầu của bạn đã được chỉnh sửa:
Thứ nhất, bạn đang sử dụng dấu gạch ngang cho sex-select
của mình cột.
MySQL đang nghĩ rằng bạn muốn thực hiện một phương trình toán học có nghĩa là:
giới tính (trừ) chọn.
Bọc nó trong dấu gạch ngược và thiếu cột cho photo
(fname, lname, email, pass, phone, photo, `sex-select`, month,day,year)
^^^^^^ missing column
đã sử dụng mysql_error()
với mysql_query()
có thể đã báo hiệu lỗi.
Ngoài ra $sex-select
cần phải là $sex_select
cũng không sử dụng dấu gạch nối cho các biến.
Vì vậy, hãy thay đổi tất cả các trường hợp đó thành $sex_select
trong GIÁ TRỊ của bạn cũng vậy.
('$fname', '$lname', '$email', '$pass', '$phone', '$photo', '$sex_select', '$month','$day','$year')
Tôi nhận thấy cả DB và bảng của bạn đều được đặt tên là crop
.
$mysql_database = "crop";
và
mysql_query("INSERT INTO crop...
Một trong những điều đó có thể không chính xác. Đảm bảo rằng tên DB là tên của nó, cùng với bảng. Điều đó có vẻ không đúng với tôi, nhưng tôi có thể đã sai. Chỉ bạn mới biết chúng được gọi là gì.
Cộng với mysql_close($con);
đây phải là mysql_close($bd);
vì bạn đang sử dụng $bd = mysql_connect
Thêm báo cáo lỗi lên đầu (các) tệp của bạn, điều này sẽ giúp ích trong quá trình thử nghiệm sản xuất.
error_reporting(E_ALL);
ini_set('display_errors', 1);
mà cũng có thể báo hiệu lỗi đó, đó là điều bạn không làm, đang kiểm tra lỗi. Điều này rất quan trọng trong quá trình phát triển.
CHỈNH SỬA: để kiểm tra lỗi kết nối DB:
Thay vì:
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "";
$mysql_database = "crop";
$prefix = "";
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
mysql_select_db($mysql_database, $bd) or die("Could not select database");
Sử dụng phần sau để bắt bất kỳ lỗi nào, nếu có bất kỳ lỗi nào. Sử dụng die("Could not connect database")
không đủ tốt.
Nếu crop
không phải là cơ sở dữ liệu, MySQL sẽ cho bạn biết.
<?php
$bd = mysql_connect('localhost', 'root', '');
if (!$bd) {
die('Not connected : ' . mysql_error());
}
// make foo the current db
$db_selected = mysql_select_db('crop', $bd);
if (!$db_selected) {
die ('Can\'t use foo : ' . mysql_error());
}
Tương tự cho truy vấn của bạn:
$result = mysql_query("INSERT INTO crop(fname, lname, email, pass, phone, photo, `sex-select`, month,day,year)
VALUES ('$fname', '$lname', '$email', '$pass', '$phone', '$photo', '$sex-select', '$month','$day','$year')");
if (!$result) {
die('Invalid query: ' . mysql_error());
}
Ngoài ra, theo biểu mẫu HTML của bạn:
<select name="sex-select" id="sex-select">
nên được
<select name="sex_select" id="sex-select">