Посмотрим, будет ли один из этих отладочных запросов
.
....
$dbh = new PDO($dsn, $user, $password);
function debugQuery($dbh, $querystring, $params) {
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $dbh->prepare($querystring);
$stmt->execute($params);
echo $querystring, ":<br />\n";
while ( false!== ($row=$stmt->fetch(PDO::FETCH_ASSOC)) ) {
echo ' ', join(', ', $row), "<br />\n";
}
}
debugQuery($dbh, 'SELECT Count(*) as c FROM user', array());
debugQuery($dbh, 'SELECT Count(*) as c FROM user WHERE email=?', array($email));
debugQuery($dbh, 'SELECT Count(*) as c FROM user WHERE wachtwoord=?', array($wachtwoord));
debugQuery($dbh, 'SELECT Count(*) as c FROM user WHERE email=? AND wachtwoord=?', array($email, $wachtwoord));
debugQuery($dbh, 'SELECT Count(*) as c FROM user WHERE email LIKE ? AND wachtwoord LIKE ?', array( '%'.trim($email).'%', '%'.trim($wachtwoord).'%'));
$sql = 'SELECT * FROM user WHERE email = :email AND wachtwoord= :wachtwoord';
$stmt = $dbh->prepare($sql);
...
возвращает что-то интересное.
edit: Не похоже ... тогда давайте атаковать это под другим углом
$email = 'emailA';
$wachtwoord = 'wachtwoordA';
echo('I have a user: ' . $email . $wachtwoord . '<br>');
//$dbh = new PDO($dsn, $user, $password);
$dbh = new PDO("mysql:host=localhost;dbname=test", 'localonly', 'localonly');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// create a temporary table
$dbh->exec('CREATE TEMPORARY TABLE tmp_user ( id int auto_increment, email varchar(32), wachtwoord varchar(32), primary key(id))');
// and fill in exactly the record we're looking for
$dbh->exec("INSERT INTO tmp_user (email, wachtwoord) VALUES ('$email', '$wachtwoord')");
$sql = 'SELECT * FROM tmp_user WHERE email = :email AND wachtwoord= :wachtwoord';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':email', $email,PDO::PARAM_STR);
$stmt->bindParam(':wachtwoord', $wachtwoord,PDO::PARAM_STR);
$stmt->execute();
while($row = $stmt->fetchObject())
{
echo($row->email . ',' . $row->wachtwoord);
$user[] = array(
'email' => $row->email,
'wachtwoord' => $row->wachtwoord
);
}
печатает I have a user: emailAwachtwoordA<br>emailA,wachtwoordA
на моей версии php / mysql.