- I henhold til dit oprindeligt stillede spørgsmål som er blevet redigeret:
For det første bruger du en bindestreg til din sex-select
kolonne.
MySQL tænker, at du vil lave en matematisk ligning, som oversættes til:
køn (minus) vælg.
Pak den ind i backticks og mangler kolonnen for photo
(fname, lname, email, pass, phone, photo, `sex-select`, month,day,year)
^^^^^^ missing column
efter at have brugt mysql_error()
med mysql_query()
ville have signaleret fejlen.
Også $sex-select
det skal være $sex_select
Brug ikke også bindestreger til variabler.
Så skift alle disse forekomster til $sex_select
i dine VÆRDIER også.
('$fname', '$lname', '$email', '$pass', '$phone', '$photo', '$sex_select', '$month','$day','$year')
Jeg har bemærket, at både din DB og tabel hedder crop
.
$mysql_database = "crop";
og
mysql_query("INSERT INTO crop...
En af dem kan være forkert. Sørg for, at DB-navnet er, hvad det skal være, sammen med tabellen. Det ser bare ikke rigtigt ud for mig, men jeg kan tage fejl. Kun du ved, hvad de hedder.
Plus mysql_close($con);
dette skal være mysql_close($bd);
da du bruger $bd = mysql_connect
Tilføj fejlrapportering til toppen af din(e) fil(er), hvilket vil hjælpe under produktionstestning.
error_reporting(E_ALL);
ini_set('display_errors', 1);
hvilket ville have signaleret, at fejl også, hvilket er noget du ikke gør, kontrollerer for fejl. Dette er vigtigt under udvikling.
EDIT: for kontrol af DB-forbindelsesfejl:
I stedet for:
$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");
Brug følgende til at fange eventuelle fejl, hvis der skulle være nogen. Brug af die("Could not connect database")
er ikke godt nok.
Hvis crop
er ikke databasen, vil MySQL fortælle dig.
<?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());
}
Det samme for din forespørgsel:
$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());
}
Plus, ifølge din HTML-formular:
<select name="sex-select" id="sex-select">
burde være
<select name="sex_select" id="sex-select">