Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP грешка:Извикване на функция-член rowCount() на необект

Повече от вероятно имаме работа с низове тук, така че променливите във вашите стойности трябва да бъдат цитирани.

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

Освен това, самото използване на PDO самостоятелно не означава, че сте в безопасност срещу SQL инжекция.

Прозрение:

Уверете се, че наистина се свързвате чрез PDO, а не mysqli_ . Често срещам такива въпроси.

Ако случаят е такъв, тези различни MySQL API не се смесват един с друг.

Сега това:

$password=$_GET["password"];

Предаването на парола през GET също не е безопасно; не знаете кой може да "слуша". Трябва да използвате POST. Надявам се също, че използвате хеш, а не обикновен текст за съхранение на пароли.

Странична бележка:Уверете се, че наистина използвате GET и не бъркате с POST, ако това идва от HTML формуляр.

Вероятно не проверявате за грешки.

Добавете $idconnex->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); веднага след отваряне на връзката.

Добавете отчитане на грешки в горната част на вашите файлове, които ще ви помогнат да намерите грешки.

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

// rest of your code

Странична бележка: Отчитането на грешки трябва да се прави само в етапа, а не в производството.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORDER_BY дата LIMIT 1

  2. JpaSpecificationExecutor JOIN + ORDER BY в Спецификация

  3. Кой е най-добрият начин за достъп до база данни от PHP?

  4. Извличане на данни от две таблици с връзка с външен ключ в Django?

  5. node.js mysql грешка:ECONNREFUSED