Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zmienna pdo jest niezdefiniowana w funkcji mysql

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - eksploduj/podziel dane wejściowe do procedury składowanej

  2. Poprawić wydajność mysql LOAD DATA / mysqlimport?

  3. usuń wszystkie znaki numeryczne z kolumny mysql

  4. Czy widok MySQL zawsze wykonuje pełne skanowanie tabeli?

  5. format daty w node.JS