- Съгласно вашият първоначално публикуван въпрос който е редактиран:
Първо, използвате тире за вашия sex-select
колона.
MySQL си мисли, че искате да направите математическо уравнение, което се превежда на:
избор на пол (минус).
Увийте го в обратни отметки и липсва колоната за photo
(fname, lname, email, pass, phone, photo, `sex-select`, month,day,year)
^^^^^^ missing column
използвайки mysql_error()
с mysql_query()
би сигнализирал за грешката.
Също $sex-select
това трябва да е $sex_select
не използвайте тирета и за променливи.
Така че променете всички тези екземпляри на $sex_select
също във вашите СТОЙНОСТИ.
('$fname', '$lname', '$email', '$pass', '$phone', '$photo', '$sex_select', '$month','$day','$year')
Забелязах, че и вашата БД, и таблицата са с име crop
.
$mysql_database = "crop";
и
mysql_query("INSERT INTO crop...
Един от тях може да е неправилен. Уверете се, че името на DB е това, което трябва да бъде, заедно с таблицата. Това просто не ми изглежда правилно, но може и да греша. Само вие знаете как се наричат.
Плюс mysql_close($con);
това трябва да е mysql_close($bd);
тъй като използвате $bd = mysql_connect
Добавете докладване на грешки в началото на вашия файл(ове), което ще помогне по време на производственото тестване.
error_reporting(E_ALL);
ini_set('display_errors', 1);
което също би сигнализирало тази грешка, което е нещо, което не правите, е проверка за грешки. Това е важно по време на разработката.
РЕДАКТИРАНЕ: за проверка на грешки при свързване с DB:
Вместо:
$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");
Използвайте следното, за да уловите всякакви грешки, ако има такива. Използване на die("Could not connect database")
не е достатъчно добър.
Ако crop
не е базата данни, 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());
}
Същото за вашата заявка:
$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());
}
Освен това, според вашия HTML формуляр:
<select name="sex-select" id="sex-select">
трябва да бъде
<select name="sex_select" id="sex-select">