hallo

Ik ben nog maar juist begonnen met gebruik te maken van de PDO extensie.
Ik weet niet wat ik verkeerd doe bij onderstaande code maar ik krijg niks op het scherm te zien.

kan iemand me vertellen waar het fout gaat?

alvast bedankt


<?php

$config['db'] = array(
	'host' 		=> 'localhost',
	'username'	 => 'root',
	'password' 	=> '',
	'dbname' 	=> 'test',
	);

$db = new PDO('mysql:host='. $config['db']['host'] .';dbname='. $config['db']['dbname'],$config['db']['username'], $config['db']['password']);

$sql_login = "SELECT user_id, voornaam, familienaam, email, wachtwoord FROM users WHERE email = :email)";
	
	$stmt = $db->prepare($sql_login);
	$stmt->bindparam(':email', $email, PDO::PARAM_STR);
	
	$email = $_POST['email'];
	$stmt->execute();
	$login = $stmt->fetch(PDO::FETCH_ASSOC);		
	

	print_r($login);
?>
Regel 17 moet voor regel 15 komen.
heb ik al geprobeerd. ik heb ook al rechtstreeks de $_POST['email'] ingevuld bij bindparam maar geen verandering
In dat geval, de standaarddingen: bovenin je script dit:

<?php
    error_reporting ( E_ALL );
?>

En is de variabele $_POST[ 'email' ] wel gevuld?

<?php
    if ( !empty ( $_POST[ 'email' ] ) ) {
        // hier je PDO statements
    }
?>

Of kijk eens wat er in de POST array zit:

<?php
    var_dump ( $_POST );
?>

ik krijg geen errors en de variabele $_POST['email'] is ingevuld.

var dump geeft dit als resultaat

array(3) { ["email"]=> &string(16) "[email protected]" ["wachtwoord"]=> string(4) "password" }
Geeft je query wel een resultaat terug? I.e. is er wel een record met dat e-mail adres aanwezig in de users tabel?
die is er, heb het nog eens nagekeken voor de zekerheid
Wat doet dat ')' daar op het einde in je query?
ok, dat was dus de boosdoener. had het zelf niet opgemerkt.

Bedankt ;)
Draai deze query eens op je tabel:

<?php
    $sql = "
        SELECT COUNT(*) AS aantal
        FROM users
        WHERE email = '[email protected]'";
?>
geeft "Array ( [aantal] => 1 ) " als resultaat. bedankt voor jullie hulp ;)

Reageren