Enviar una conexión PDO como parámetro es en realidad la única forma sensata de hacerlo. De hecho, es bueno saber que podría usar el global
palabra clave, pero la forma óptima de escribir código que es posible mantener es declarar explícitamente las dependencias y sugerencias de tipo
ellos
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) {}
Lea más aquí sobre PDO y declaraciones preparadas. Observe cómo aproveché los parámetros con nombre para garantizar que no sea posible ninguna inyección de sql desde este código.