PHP interesse |
|
Hallo,
Ik maak momenteel iets vreemd mee. Ik zit bezig met een loginscript, nu blijkt, wanneer ik meerdere WHERE-voorwaarden wil, dat ik gewoonweg geen output meer krijg. Hieronder wat verstaanbaardere taal (een voorbeeld hoe het niet gaat, en hoe wel.)
<?php
//het geen wat niet lukt, ik krijg gewoon geen user_id, en ja pass en gebruikersnaam kloppen perfect.
$sql = 'SELECT user_id FROM systeem_users WHERE username = :username password = :pass';
$stmt = $db->prepare($sql);
$stmt->bindParam(':username', $username, PDO::PARAM_STR);
$stmt->bindParam(':pass', $pass, PDO::PARAM_STR);
$username = $_POST['username'];
$pass = md5($_POST['password']);
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
echo $row['user_id'].'<br>';
}
?>
<?php
//En zo werkt het dan weer wel, moet wel niet uitleggen waarom ik dit niet wil zeker :p?
$sql = 'SELECT user_id FROM systeem_users WHERE username = :username';
$stmt = $db->prepare($sql);
$stmt->bindParam(':username', $username, PDO::PARAM_STR);
$username = $_POST['username'];
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
echo $row['user_id'].'<br>';
}
?>
<?php //het geen wat niet lukt, ik krijg gewoon geen user_id, en ja pass en gebruikersnaam kloppen perfect. $sql = 'SELECT user_id FROM systeem_users WHERE username = :username password = :pass'; $stmt = $db->prepare($sql); $stmt->bindParam(':username', $username, PDO::PARAM_STR); $stmt->bindParam(':pass', $pass, PDO::PARAM_STR); $username = $_POST['username']; $pass = md5($_POST['password']); $stmt->execute(); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo $row['user_id'].'<br>'; } ?> <?php //En zo werkt het dan weer wel, moet wel niet uitleggen waarom ik dit niet wil zeker :p? $sql = 'SELECT user_id FROM systeem_users WHERE username = :username'; $stmt = $db->prepare($sql); $stmt->bindParam(':username', $username, PDO::PARAM_STR); $username = $_POST['username']; $stmt->execute(); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo $row['user_id'].'<br>'; } ?>
|