Sinds vandaag gebruik ik PDO. Vandaar dat ik een paar vraagjes heb waarvan ik het antwoord niet kon vinden.
Dit is de code die ik op dit moment gebruik
<?
$mysql = new PDO("mysql:host=localhost;dbname=dbname", 'root', 'ww');
$query = $mysql->prepare("SELECT count(*) FROM users WHERE mail = :mail");
$query->bindParam(':mail', $mail);
$query->execute();
$num_rows = $query->fetch(PDO::FETCH_NUM)[0];
if($num_rows > 0) {
$query = $mysql->prepare("UPDATE users SET activation_key = :key, token = :token, is_activated = :activated WHERE mail = :mail");
} else {
$query = $mysql->prepare("INSERT INTO users (mail, activation_key, token) VALUES (:mail, :key, :token)");
}
$query->bindParam(':mail', $mail);
$query->bindParam(':key', $key);
$query->bindParam(':token', $token);
$query->execute();
?>
De twee vragen die ik heb,
- Hebben jullie over het algemeen tips, hoe ik deze code kan optimaliseren?
- Als $num_rows meer dan 0 is, staat er in $query `:activated`, dit moet echter altijd 'false' zijn, hoe kan ik dit op de beste manier doen? Ik verwacht dat er een betere manier bestaat dan
<?
$false = 'false';
$query->bindParam(':activated', $false);
?>
Alvast bedankt,
Pepijn
P.S. Ik heb erg moeten twijfelen of ik deze vraag in `Beginnen met PHP` of `Algemene PHP scripting en meer` moest zetten, maar aangezien iedere (beginnende) webdeveloper tegenwoordig PDO kan, heb ik deze vraag in dit forum gezet :)