- Podle vašeho původně zveřejněného dotazu který byl upraven:
Za prvé, pro sex-select
používáte pomlčku sloupec.
MySQL si myslí, že chcete vytvořit matematickou rovnici, což znamená:
pohlaví (minus) vyberte.
Zabalte jej do zadních značek a chybí sloupec pro photo
(fname, lname, email, pass, phone, photo, `sex-select`, month,day,year)
^^^^^^ missing column
s použitím mysql_error()
pomocí mysql_query()
by signalizoval chybu.
Také $sex-select
to musí být $sex_select
nepoužívejte pomlčky také pro proměnné.
Změňte tedy všechny tyto instance na $sex_select
také ve vašich VALUES.
('$fname', '$lname', '$email', '$pass', '$phone', '$photo', '$sex_select', '$month','$day','$year')
Všiml jsem si, že vaše databáze i tabulka se jmenují crop
.
$mysql_database = "crop";
a
mysql_query("INSERT INTO crop...
Jeden z nich může být nesprávný. Ujistěte se, že název DB je takový, jaký má být, spolu s tabulkou. To se mi nezdá správné, ale mohu se mýlit. Jen vy víte, jak se jmenují.
Plus mysql_close($con);
toto by mělo být mysql_close($bd);
protože používáte $bd = mysql_connect
Přidat hlášení chyb na začátek vašich souborů, což vám pomůže při produkčním testování.
error_reporting(E_ALL);
ini_set('display_errors', 1);
což by signalizovalo, že chyba, což je něco, co neděláte, je kontrola chyb. To je důležité během vývoje.
UPRAVIT: pro kontrolu chyb připojení DB:
Místo:
$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");
K zachycení případných chyb použijte následující postup. Pomocí die("Could not connect database")
není dost dobrý.
Pokud crop
není databáze, řekne vám 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());
}
Totéž pro váš dotaz:
$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());
}
Navíc podle vašeho HTML formuláře:
<select name="sex-select" id="sex-select">
by měl být
<select name="sex_select" id="sex-select">