Mi a hiba? (Egyszerű kérdés)
Sziasztok!
Most kezdtem a php-zást és Date-ként szeretnék bevinni az adatbázisba egy dátumot.
A lecsupaszított kód:
$birthyear = $_POST["birthyear"];
$birthmonth = $_POST["birthmonth"];
$birthday = $_POST["birthyear"];
$birthdate = $birthyear . "-" . $birthmonth . "-" . $birthday;
$sql = "INSERT INTO users(BirthDate)
VALUES ('$birthdate')";
Erre folyamatosan 0000-00-00 értéket ír a db-be. Ha konkrét dátumot adok meg, akkor műxik. Meg lehet valahogy oldani, vagy csináljak külön oszlopot minden értéknek?
■ Most kezdtem a php-zást és Date-ként szeretnék bevinni az adatbázisba egy dátumot.
A lecsupaszított kód:
$birthyear = $_POST["birthyear"];
$birthmonth = $_POST["birthmonth"];
$birthday = $_POST["birthyear"];
$birthdate = $birthyear . "-" . $birthmonth . "-" . $birthday;
$sql = "INSERT INTO users(BirthDate)
VALUES ('$birthdate')";
Erre folyamatosan 0000-00-00 értéket ír a db-be. Ha konkrét dátumot adok meg, akkor műxik. Meg lehet valahogy oldani, vagy csináljak külön oszlopot minden értéknek?
Több sebből vérzik
A felhasználótól kapott adatokról mindig feltételezzük, hogy veszélyes, ezért ennek megfelelően kezeljük, mondjuk megnézzük hogy szám-e, vagy alapból számmá konvertáljuk.
A másik dolog, hogy nem árt megvizsgálni pontosan mit is küld el a form, lehet hogy nem is számot küld, pedig te számot vársz. Próbáld meg vhogy debuggolni, hogy mit küldött el a form, lehet ott van a probléma.
adattípus
Én is kezdőnek titulálom magam, szerintem nézdd meg, hogy az adatbázisban a BirthDate oszlop milyen adattípus. Szerintem, timestamp vagy date (bocsánat a pontatlanságomért) a formájából ítélve, te pedig gyakorlatilag stringet próbálsz bevinni. Nem teszteltem, de ez az ötletem.
logikaazvajonmi
((: 3.sor
Ezer köszönet
Nagyon köszönöm a helpet, már így este 11kor nem láttam a $birtday = $_POST['birthYEAR'] sort.
Köszönöm Poetro, hogy felhívtad a figyelmemet! Később akartam foglalkozni a validálással, de mégiscsak jobb előre gondolkozni.
Még1Xer köszönöm mindenkinek!
CodeFreak