sql >> Database >  >> RDS >> Mysql

pdo-variabele is niet gedefinieerd in mysql-functie

Het verzenden van een PDO-verbinding als parameter is eigenlijk de enige verstandige manier om dit te doen. Het is inderdaad goed om te weten dat u de global . kunt gebruiken trefwoord, maar de optimale manier om code te schrijven die onderhouden kan worden, is het expliciet vermelden van afhankelijkheden en type-hinting ze

function mailExists (PDO $pdo, $email)  {
    $sql = 'SELECT * FROM users WHERE email = :email';
    $stmt = $pdo->prepare($sql);
    $stmt->bindValue(':email', $email, PDO::PARAM_STR);
    $stmt->execute();
    return $stmt->rowCount() > 0;
}
if (mailExists($pdo, $email) {}

Lees meer hier over BOB en voorbereide verklaringen. Merk op hoe ik gebruik heb gemaakt van benoemde parameters om ervoor te zorgen dat er geen sql-injectie mogelijk is vanuit deze code.



  1. query niet gelijk werkt niet

  2. Maak een aangepaste verzendmethode in OpenCart:deel twee

  3. CodeIgniter - Groepeer bij bestelling door niet te werken zoals verwacht

  4. Tekst uit een bestand halen en met een script invoegen in een mysql-tabel