sql >> Databasteknik >  >> RDS >> Mysql

pdo-variabeln är odefinierad i mysql-funktionen

Att skicka en PDO-anslutning som en parameter är faktiskt det enda vettiga sättet att göra detta. Det är verkligen bra att veta att du kan använda den global nyckelord, men det optimala sättet att skriva kod som är möjligt att underhålla är att uttryckligen ange beroenden och typtips dem

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) {}

Läs mer här om PDO och upprättade utlåtanden. Lägg märke till hur jag utnyttjade namngivna parametrar för att säkerställa att ingen sql-injektion är möjlig från den här koden.



  1. Få maxlängden tillåten i kolumn, mysql

  2. Autoinkrementera manuellt en kolumn MySQL

  3. PostgreSQL:kör antal rader för en fråga "per minut"

  4. Oracle 12c Ubuntu 17.04 Installationsfel