Database invullen fout
ik krijg volgende error bij het invullen van waarden in de database: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@hotmail.com, man, 14, 11, 1995)' at line 1
Dit krijg ik met volgende code:
Code (php)
1
2
2
$indatabase = "INSERT INTO users (Username, Password, Email, Geslacht, GBdag, GBmaand, GBjaar) VALUES ($gebruikersnaam,md5($wachtwoord), $emailadres, $mv, $gbdag, $gbmaand, $gbjaar)";
mysql_query($indatabase) or die (mysql_error());
mysql_query($indatabase) or die (mysql_error());
Weet iemand waar mijn fout zit?
Code (php)
1
2
3
4
2
3
4
<?php
$indatabase = "INSERT INTO users (Username, Password, Email, Geslacht, GBdag, GBmaand, GBjaar)
VALUES ('$gebruikersnaam', md5('$wachtwoord'), '$emailadres', '$mv', '$gbdag', '$gbmaand', '$gbjaar')";
?>
$indatabase = "INSERT INTO users (Username, Password, Email, Geslacht, GBdag, GBmaand, GBjaar)
VALUES ('$gebruikersnaam', md5('$wachtwoord'), '$emailadres', '$mv', '$gbdag', '$gbmaand', '$gbjaar')";
?>
Wat men hier graag ziet, is op volgende manier
Code (php)
1
2
3
4
2
3
4
<?php
$indatabase = "INSERT INTO users (Username, Password, Email, Geslacht, GBdag, GBmaand, GBjaar)
VALUES ('" . $gebruikersnaam . "', md5('" . $wachtwoord . "'), '" . $emailadres . "', '" . $mv . "', '" . $gbdag . "', '" . $gbmaand . "', '" . $gbjaar . "')";
?>
$indatabase = "INSERT INTO users (Username, Password, Email, Geslacht, GBdag, GBmaand, GBjaar)
VALUES ('" . $gebruikersnaam . "', md5('" . $wachtwoord . "'), '" . $emailadres . "', '" . $mv . "', '" . $gbdag . "', '" . $gbmaand . "', '" . $gbjaar . "')";
?>
En dan hoop ik dat al die waarden ge-escapet zijn.
bv. met mysql_real_escape_string
Gewijzigd op 26/08/2013 11:00:26 door Kris Peeters
Waarom niet gewoon een Geboortedatum?
En dat dat dan een datum is?
Eddy E op 26/08/2013 16:08:24:
Alleen van kolommen als GBdag, GBmaand, GBjaar is ziet er nogal ... knullig uit.
Waarom niet gewoon een Geboortedatum?
En dat dat dan een datum is?
Waarom niet gewoon een Geboortedatum?
En dat dat dan een datum is?
Plus dat er een ISO-norm voor het geslacht is: ISO/IEC 5218. Dan kun je voor het geslacht een TINYINT(1) UNSIGNED gebruiken.
Ward van der Put op 26/08/2013 16:24:04:
Plus dat er een ISO-norm voor het geslacht is: ISO/IEC 5218. Dan kun je voor het geslacht een TINYINT(1) UNSIGNED gebruiken.
Eddy E op 26/08/2013 16:08:24:
Alleen van kolommen als GBdag, GBmaand, GBjaar is ziet er nogal ... knullig uit.
Waarom niet gewoon een Geboortedatum?
En dat dat dan een datum is?
Waarom niet gewoon een Geboortedatum?
En dat dat dan een datum is?
Plus dat er een ISO-norm voor het geslacht is: ISO/IEC 5218. Dan kun je voor het geslacht een TINYINT(1) UNSIGNED gebruiken.
Bijden wist ik niet meteen de manier, dit zal ik zeker nog aanpassen, maar nu even dit testen ;p
(ik ben inderdaad beginner in php en mysql)
Gewijzigd op 30/08/2013 13:27:43 door Kristof Hendrickx
verder is een md5() een slechte encryptiemethode... welke wel het beste is staat ter discussie, maar ik gebruik altijd sha256()
foutafhandeling met or die() is natuurlijk ook zeer slecht
Jeroen VD op 30/08/2013 13:42:00:
Het Date Field inderdaad.
verder is een md5() een slechte encryptiemethode... welke wel het beste is staat ter discussie, maar ik gebruik altijd sha256()
foutafhandeling met or die() is natuurlijk ook zeer slecht
verder is een md5() een slechte encryptiemethode... welke wel het beste is staat ter discussie, maar ik gebruik altijd sha256()
foutafhandeling met or die() is natuurlijk ook zeer slecht
Welke foutdetectie kan ik dan gebruiken?
En de encryptiemethode, kan ik deze dan ook terug oproepen met sha256? (voor mensen die inloggen, controle of het juist is)
Aangezien dit oftopic gaat zal ik je even in privebericht contacteren ;)
het hele punt van encryptie is dat je het origineel niet meer terug kan halen zonder de juiste sleutel. vaak is een toevoeging van een salt al heel wat sterker, en moet je steeds bij elke inlogpoging opnieuw encrypten, en die vergelijken met wat aanwezig is in de database.
en, wanneer er een fout optreedt is het een slecht plan alles dood te laten gaan, simpelweg een melding geven dat de query mis is gegaan voldoet ook. dat er een fout is opgetreden en nogmaals proberen, contact opnemen ed.