Wysłanie połączenia PDO jako parametru jest właściwie jedynym rozsądnym sposobem, aby to zrobić. Naprawdę dobrze jest wiedzieć, że możesz użyć global
słowa kluczowego, ale optymalnym sposobem napisania kodu, który jest możliwy do utrzymania, jest jawne określenie zależności i wskazówki
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) {}
Przeczytaj więcej tutaj o PDO i przygotowanych oświadczeniach. Zwróć uwagę, jak wykorzystałem nazwane parametry, aby upewnić się, że nie jest możliwe wstrzyknięcie sql z tego kodu.