- Secondo la tua domanda originariamente postata che è stato modificato:
In primo luogo, stai utilizzando un trattino per il tuo sex-select
colonna.
MySQL sta pensando che tu voglia fare un'equazione matematica che si traduce in:
sesso (meno) seleziona.
Avvolgilo in backtick e manca la colonna per photo
(fname, lname, email, pass, phone, photo, `sex-select`, month,day,year)
^^^^^^ missing column
aver usato mysql_error()
con mysql_query()
avrebbe segnalato l'errore.
Inoltre $sex-select
deve essere $sex_select
non utilizzare trattini anche per le variabili.
Quindi cambia tutte queste istanze in $sex_select
anche nei tuoi VALUES.
('$fname', '$lname', '$email', '$pass', '$phone', '$photo', '$sex_select', '$month','$day','$year')
Ho notato che sia il tuo DB che la tabella sono denominati crop
.
$mysql_database = "crop";
e
mysql_query("INSERT INTO crop...
Uno di questi potrebbe non essere corretto. Assicurati che il nome del DB sia quello che dovrebbe essere, insieme alla tabella. Semplicemente non mi sembra giusto, ma potrei sbagliarmi. Solo tu sai come si chiamano.
Inoltre mysql_close($con);
questo dovrebbe essere mysql_close($bd);
poiché stai usando $bd = mysql_connect
Aggiungi segnalazione errori all'inizio dei tuoi file che ti aiuteranno durante i test di produzione.
error_reporting(E_ALL);
ini_set('display_errors', 1);
che avrebbe segnalato anche quell'errore, che è qualcosa che non stai facendo, sta controllando gli errori. Questo è importante durante lo sviluppo.
MODIFICA: per il controllo degli errori di connessione DB:
Invece di:
$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");
Utilizzare quanto segue per rilevare eventuali errori, se presenti. Usando die("Could not connect database")
non è abbastanza buono.
Se crop
non è il database, te lo dirà MySQL.
<?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());
}
Lo stesso per la tua richiesta:
$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());
}
Inoltre, secondo il tuo modulo HTML:
<select name="sex-select" id="sex-select">
dovrebbe essere
<select name="sex_select" id="sex-select">