- Gemäß Ihrer ursprünglich geposteten Frage die bearbeitet wurde:
Erstens verwenden Sie einen Bindestrich für Ihre sex-select
Spalte.
MySQL denkt, Sie möchten eine mathematische Gleichung erstellen, die übersetzt wird in:
Geschlecht (minus) auswählen.
Wickeln Sie es in Backticks ein und lassen Sie die Spalte für photo
aus
(fname, lname, email, pass, phone, photo, `sex-select`, month,day,year)
^^^^^^ missing column
mysql_error()
verwendet haben mit mysql_query()
hätte den Fehler signalisiert.
Auch $sex-select
das muss $sex_select
sein Verwenden Sie auch keine Bindestriche für Variablen.
Ändern Sie also alle diese Instanzen in $sex_select
auch in Ihren WERTEN.
('$fname', '$lname', '$email', '$pass', '$phone', '$photo', '$sex_select', '$month','$day','$year')
Mir ist aufgefallen, dass sowohl Ihre DB als auch Ihre Tabelle crop
heißen .
$mysql_database = "crop";
und
mysql_query("INSERT INTO crop...
Einer davon kann falsch sein. Stellen Sie sicher, dass der DB-Name zusammen mit der Tabelle so ist, wie er sein sollte. Das sieht für mich einfach nicht richtig aus, aber ich könnte mich irren. Nur Sie wissen, wie sie heißen.
Plus mysql_close($con);
Dies sollte mysql_close($bd);
sein
da Sie $bd = mysql_connect
verwenden
Fügen Sie Fehlerberichterstattung hinzu an den Anfang Ihrer Datei(en), was beim Produktionstest hilft.
error_reporting(E_ALL);
ini_set('display_errors', 1);
was diesen Fehler auch signalisiert hätte, was Sie nicht tun, ist die Überprüfung auf Fehler. Dies ist während der Entwicklung wichtig.
BEARBEITEN: für DB-Verbindungsfehlerprüfung:
Statt:
$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");
Verwenden Sie Folgendes, um Fehler abzufangen, falls es welche geben sollte. Verwendung von die("Could not connect database")
ist nicht gut genug.
Wenn crop
nicht die Datenbank ist, wird MySQL es Ihnen mitteilen.
<?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());
}
Gleiches gilt für Ihre Anfrage:
$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, gemäß Ihrem HTML-Formular:
<select name="sex-select" id="sex-select">
sollte
sein<select name="sex_select" id="sex-select">