PDO insert werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bart Roelofs

Bart Roelofs

08/10/2012 22:21:24
Quote Anchor link
Hallo,

Ik ben bezig met het maken van een loginscript aan de hand van PDO. Dit in de plaats van mysql. Ik heb de onderstaande code, en alles is 'foutloos'.

Ik krijg geen foutmeldingen, en alle varriabelen bestaan (mits formulier ingevuld). Echter, blijft de database wel leeg. De connectie is er wel gewoon, anders had ik daar een foutmelding van gekregen.

De code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
$db = new PDO('mysql:host=localhost;dbname=familie', 'agenda_naam', 'agenda');
$naam = $db->quote($_POST['naam']);
$email = $db->quote($_POST['email']);
$taal = $db->quote($_POST['taal']);


$sql = "
    INSERT INTO gebruikers (naam, email, land,salt,IP)
    VALUES ('".$naam."','".$email."','".$taal."','".$password."','".$salt."','".$userip."')";
    
$results = $db->exec($sql);



Hopelijk kunnen jullie me zeggen wat ik fout doe, want heb er al anderhalf uur mee lopen klooien en kom er echt niet uit.

Groeten,
Bart
 
PHP hulp

PHP hulp

31/07/2021 21:48:18
 
Frank Nietbelangrijk

Frank Nietbelangrijk

08/10/2012 22:50:35
Quote Anchor link
ik heb geen bal verstand van PDO maar met $db->quote() zet je de string tussen quotes neem ik aan, en vervolgens doe je dat zelf nog eens met VALUES ('".$naam."',etc. etc.

misschien moet je even je $sql echo-en

en waar is je foutafhandeling voor $db->exec() want die had je kunnen vertellen dat ie jouw query niet begrepen heeft. (er van uitgaande dat ik gelijk heb)

gr Frank
 
Bart Roelofs

Bart Roelofs

08/10/2012 23:00:51
Quote Anchor link
Als ik de $sql echo, dan staat er het volgende:

INSERT INTO gebruikers (naam, email, land,salt,IP) VALUES (''mijnnaam'',''adres@gmail.com'',''nederlands'','a51bedd7a4d23b8ac8da001879b8fd2bd65d43bf','vRLyeOVAJQ6fQWRgUykRMG4KOLc9ONjMadtSG1j8','127.0.0.1')

lijkt mij niet foutief...

Groeten,
Bart
 
Erwin van Hoof

Erwin van Hoof

08/10/2012 23:10:35
Quote Anchor link
Beste Bart,

Toch zou ik de single qoutes bij de eerste drie variaelen weg halen. In je echo zie je bij deceerstecdrie variabelen namelijk geen dubbele quotes maar twee single qoutes.

Groet, Erwin
 
Bart Roelofs

Bart Roelofs

08/10/2012 23:21:58
Quote Anchor link
Ik heb geen idee waar de dubbele quote vandaan komt, maar ook met enkel is het niet effectief...

Groeten,
Bart
 
Wouter J

Wouter J

08/10/2012 23:27:56
Quote Anchor link
Je maakt behoorlijk harde en, helaas, verkeerde conclusies:

Quote:
Ik heb de onderstaande code, en alles is 'foutloos'. (...)
Ik krijg geen foutmeldingen (...)
De connectie is er wel gewoon, anders had ik daar een foutmelding van gekregen.

Je geeft nergens weer dat je een foutmelding wilt tonen, hoe moet PDO dan weten hoe hij een foutmelding moet tonen? Gebruik foutafhandeling zoals hier beschreven wordt: http://phptuts.nl/view/27/4/
 
Bart Roelofs

Bart Roelofs

08/10/2012 23:31:50
Quote Anchor link
Hmm, dacht dat hij dat wel deed aangezien hij het wel aangeeft als hij geen verbinding maakt. Ik denk dat aan de hand daarvan het probleem opgelost kan worden?

Groeten,
Bart

Toevoeging op 09/10/2012 08:40:03:

Het werkt nu allemaal.

Ik had 5 namen van rijen aangegeven, terwijl ik 6 value's had aangegeven. Logisch dat dat niet werkt. Heb het werkend gekregen door het in de mysql via phpmyadmin te zetten. Die gaf de fouten wel weer.

Groeten,
Bart Roelofs
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.