sql >> Databáze >  >> RDS >> Mysql

Proměnná pdo není ve funkci mysql definována

Odeslání připojení PDO jako parametru je vlastně jediný rozumný způsob, jak toho dosáhnout. Je opravdu dobré vědět, že můžete použít global klíčové slovo, ale optimální způsob, jak napsat kód, který je možné udržovat, je explicitně uvést závislosti a tipování typu je

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

Přečtěte si více zde o CHOP a připravených výpisech. Všimněte si, jak jsem využil pojmenované parametry, abych zajistil, že z tohoto kódu nebude možné vložit sql.



  1. Maximální počet položek v histogram_bounds

  2. Vytváření hierarchického JSON z výsledků MySQL a PHP pro strom D3.js?

  3. Problém se zablokováním MySQL s InnoDB

  4. nemůže zprovoznit jednoduchou vložku PostgreSQL