L'invio di una connessione PDO come parametro è in realtà l'unico modo sano per farlo. È davvero bello sapere che potresti usare il global
parola chiave, ma il modo ottimale per scrivere codice che è possibile mantenere è indicare esplicitamente le dipendenze e suggerimento del tipo
loro
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) {}
Leggi di più qui sulla DOP e sulle dichiarazioni preparate. Nota come ho sfruttato i parametri denominati per assicurarmi che non sia possibile alcuna iniezione di sql da questo codice.