- Zgodnie z Twoim pierwotnie opublikowanym pytaniem który był edytowany:
Po pierwsze, używasz myślnika dla sex-select
kolumna.
MySQL myśli, że chcesz wykonać równanie matematyczne, które przekłada się na:
płeć (minus) wybierz.
Zawiń go w backticki i brakuje kolumny dla photo
(fname, lname, email, pass, phone, photo, `sex-select`, month,day,year)
^^^^^^ missing column
po użyciu mysql_error()
z mysql_query()
zasygnalizowałby błąd.
Również $sex-select
to musi być $sex_select
nie używaj myślników również dla zmiennych.
Więc zmień wszystkie te instancje na $sex_select
w swoich WARTOŚCIACH.
('$fname', '$lname', '$email', '$pass', '$phone', '$photo', '$sex_select', '$month','$day','$year')
Zauważyłem, że zarówno baza danych, jak i tabela mają nazwę crop
.
$mysql_database = "crop";
i
mysql_query("INSERT INTO crop...
Jedna z nich może być nieprawidłowa. Upewnij się, że nazwa bazy danych jest taka, jak powinna, wraz z tabelą. To po prostu nie wygląda dobrze, ale mogę się mylić. Tylko Ty wiesz, jak się nazywają.
Plus mysql_close($con);
powinno to być mysql_close($bd);
ponieważ używasz $bd = mysql_connect
Dodaj zgłaszanie błędów na górę pliku (plików), które pomogą podczas testowania produkcyjnego.
error_reporting(E_ALL);
ini_set('display_errors', 1);
co sygnalizowałoby również ten błąd, którego nie robisz, to sprawdzanie błędów. Jest to ważne podczas opracowywania.
EDYTUJ: do sprawdzania błędów połączenia z bazą danych:
Zamiast:
$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");
Skorzystaj z poniższych wskazówek, aby wyłapać wszelkie błędy, jeśli takie występują. Używanie die("Could not connect database")
nie wystarczy.
Jeśli crop
nie jest bazą danych, MySQL powie ci.
<?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());
}
To samo dla twojego zapytania:
$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());
}
Dodatkowo, zgodnie z formularzem HTML:
<select name="sex-select" id="sex-select">
powinno być
<select name="sex_select" id="sex-select">