fout met query
Code (php)
1
<?$query=mysql_query('INSERT INTO gebruikers (naam,ww,nivo,email) VALUES (".$_POST['user']."','".$md5pass."',0,'".$_POST['email']"');?>
kan iemand mij vertellen wat hier fout gaat ik krijg deze foutmelding
Parse error: syntax error, unexpected T_STRING in C:\apachefriends\xampp\htdocs\ededag3\aanmelden.php on line 11
bvd
Code (php)
1
<?$query=mysql_query("INSERT INTO gebruikers (naam,ww,nivo,email) VALUES ('" .$_POST['user']. "','" . $md5pass . "',0,'" . $_POST['email'] . "');"; ?>
Quootjeswerk ;-)
Voor het gemak gebruik ik dubbele quotes om de query te beginnen omdat ik later single quotes moet zetten om waardes die tekst bevatten.
Normaliter gebruik ik voor tekst altijd single quotes omdat dat sneller is dan tekst met dubbele quotes.
Vergeet je overigens niet om je data te escapen, want deze query is rijp voor SQL injectie
dus ipv $_POST['email'] gebruik je mysql_real_escape_string($_POST['email'])
Suc6
Het highlighten van de code verraade ut al een beetje ;)
thanx
rein schreef op 22.03.2007 23:13:
En dan toch om hulp vragen? Je weet dat je heel erg fout bezig bent en toch ga je domweg verder. Tja, dan moet je het ook zelf maar weten.mysql_real_escape_string($_POST['email']) hoeft nu nog niet omdat ik hem lokaal heb draaien maar zeker iets om niet te vergeten.
thanx
thanx
De foutafhandeling ontbreekt ook nog in zijn geheel, de basis van ieder script, maar ook daar zul je wel bewust voor hebben gekozen. Maar ja, waarom zou je ook een goed script maken die eenvoudig is te debuggen?
Veel succes in elk geval...
Rein, 1 advies, doe het in 1 keer goed, lijkt iets langer te duren, maar op het einde van het verhaal ben je minder lang bezig want dan is het ook klaar als het klaar is , snaps ;-)
ik moest even iets in een database stoppen om iets op te kunnen halen.
maar dat lukte niet via phpmyadmin.
dus vandaar dat ik niet zo bezig ben met fouten die mensen erin kunnen zetten.
maar misschien heb ik het fout begrepen
mysql_real_escape_string($_POST['email']) is dit iets wat van belang is als andere mensen iets in gaan voeren(dat gebeurt namelijk niet)
dus ik vul nu alleen bv in janjansen en niet [email protected].
als ik het fout heb hoor ik het graag
Quote:
Hoezo ándere mensen? Vul jij nooit een naam als bv. in 't Huis in? mysql_real_escape_string($_POST['email']) is dit iets wat van belang is als andere mensen iets in gaan voeren
mysql_real_escape_string() is niet tegen hackers of voor domme mensen, het is om quotes te escapen. Het is dom om het niet te gebruiken. Net zoals dat het dom is om geen foutafhandeling te gebruiken. Dat zijn echt basisdingetjes.
Je had vele malen sneller een goed script geschreven dan wat je nu nodig hebt gehad om te debuggen.
Mocht je php versie 5 gebruiken, kijk dan eens naar PDO. Die neemt voor jou al het werk uit handen. Kost je 1 a 2 minuten om een voor een nieuwe database een verbinding op te zetten en op een veilige manier queries uit te voeren. Ben je ook van het gekloot met de php-mysql-functies af.
Gewijzigd op 01/01/1970 01:00:00 door Frank -