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

Błąd PHP:wywołanie funkcji członkowskiej rowCount() na obiekcie niebędącym obiektem

Najprawdopodobniej mamy tutaj do czynienia z ciągami znaków, więc zmienne w Twoich wartościach muszą być ujęte w cudzysłów.

WHERE ens_cin='$login' AND ens_pass='$password'";

Ponadto samo używanie PDO nie oznacza, że ​​jesteś bezpieczny przed wstrzyknięciem SQL.

Wgląd:

Upewnij się, że rzeczywiście łączysz się przez PDO, a nie mysqli_ . Często spotykam się z tego typu pytaniami.

W takim przypadku te różne interfejsy API MySQL nie mieszają się ze sobą.

Teraz to:

$password=$_GET["password"];

Przekazywanie hasła przez GET również nie jest bezpieczne; nie wiesz, kto może „podsłuchiwać”. Powinieneś używać POST. Mam również nadzieję, że do przechowywania haseł używasz skrótu, a nie zwykłego tekstu.

Uwaga dodatkowa:upewnij się, że rzeczywiście używasz GET i nie mieszasz z POST, jeśli pochodzi on z formularza HTML.

Prawdopodobnie nie sprawdzasz błędów.

Dodaj $idconnex->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); zaraz po otwarciu połączenia.

Dodaj zgłaszanie błędów na górze pliku (plików), co pomoże znaleźć błędy.

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Uwaga boczna: Zgłaszanie błędów powinno być wykonywane tylko w fazie tymczasowej, nigdy w produkcji.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przechowywać datę i godzinę Java Date na Mysql za pomocą JPA?

  2. Korzystanie ze stref czasowych w aplikacji internetowej PHP

  3. Ostrzeżenie:mysql_query():podany argument nie jest prawidłowym zasobem MySQL-Link

  4. Zapytanie MySQL w celu przypisania unikalnej liczby losowej do każdego wiersza

  5. Kreator Entity Framework ulega awarii w MySQL