- I enlighet med din ursprungligen postade fråga som har redigerats:
För det första använder du ett bindestreck för din sex-select
kolumn.
MySQL tror att du vill göra en matematisk ekvation som översätts till:
kön (minus) välj.
Slå in den i backticks och saknar kolumnen för photo
(fname, lname, email, pass, phone, photo, `sex-select`, month,day,year)
^^^^^^ missing column
efter att ha använt mysql_error()
med mysql_query()
skulle ha signalerat felet.
Även $sex-select
det måste vara $sex_select
använd inte bindestreck för variabler också.
Så ändra alla dessa instanser till $sex_select
i dina VÄRDEN också.
('$fname', '$lname', '$email', '$pass', '$phone', '$photo', '$sex_select', '$month','$day','$year')
Jag märkte att både din DB och tabell heter crop
.
$mysql_database = "crop";
och
mysql_query("INSERT INTO crop...
En av dem kan vara felaktig. Se till att DB-namnet är vad det ska vara, tillsammans med tabellen. Det ser helt enkelt inte rätt ut för mig, men jag kan ha fel. Bara du vet vad de heter.
Plus mysql_close($con);
detta bör vara mysql_close($bd);
eftersom du använder $bd = mysql_connect
Lägg till felrapportering till toppen av din(a) fil(er) vilket kommer att hjälpa till under produktionstestning.
error_reporting(E_ALL);
ini_set('display_errors', 1);
vilket skulle ha signalerat att fel också, vilket är något du inte gör, kollar efter fel. Detta är viktigt under utveckling.
EDIT: för kontroll av DB-anslutningsfel:
Istället för:
$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");
Använd följande för att fånga eventuella fel, om det skulle finnas några. Använder die("Could not connect database")
är inte tillräckligt bra.
Om crop
är inte databasen, kommer MySQL att berätta.
<?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());
}
Samma sak för din fråga:
$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());
}
Dessutom enligt ditt HTML-formulär:
<select name="sex-select" id="sex-select">
borde vara
<select name="sex_select" id="sex-select">