sql >> Base de Datos >  >> RDS >> Mysql

La variable pdo no está definida en la función mysql

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.