Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

variável pdo é indefinida na função mysql


Enviar uma conexão PDO como parâmetro é, na verdade, a única maneira sensata de fazer isso. É realmente bom saber que você pode usar o global palavra-chave, mas a maneira ideal de escrever código que é possível manter é declarar explicitamente as dependências e dicas de tipo eles
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) {}

Leia mais aqui sobre DOP e declarações preparadas. Observe como aproveitei os parâmetros nomeados para garantir que nenhuma injeção de sql seja possível a partir desse código.