sql >> Databáze >  >> RDS >> Mysql

Chyba PHP:Volání členské funkce rowCount() na jiném než objektu

S největší pravděpodobností zde máme co do činění s řetězci, takže proměnné ve vašich hodnotách je třeba uvádět v uvozovkách.

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

Pouhé používání PDO samo o sobě navíc neznamená, že jste v bezpečí před SQL injection.

Pohled:

Ujistěte se, že se skutečně připojujete přes PDO a ne mysqli_ . Tyto typy otázek vidím často.

Pokud tomu tak je, tato různá MySQL API se vzájemně nemísí.

Nyní toto:

$password=$_GET["password"];

Bezpečné není ani předávání hesla přes GET; nevíte, kdo může "poslouchat". Měli byste používat POST. Doufám také, že pro uložení hesla používáte hash a ne prostý text.

Vedlejší poznámka:Ujistěte se, že skutečně používáte GET a nepletete si to s POST, pokud by to pocházelo z formuláře HTML.

Pravděpodobně nekontrolujete chyby.

Přidat $idconnex->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); hned po otevření připojení.

Přidat hlášení chyb na začátek vašich souborů, což vám pomůže najít chyby.

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

// rest of your code

Sidenote: Hlášení chyb by mělo být prováděno pouze ve fázi přípravy, nikoli ve výrobě.



  1. Co znamená strojové učení pro databázové profesionály

  2. Jak spravovat připojení db na serveru?

  3. Vylaďte své výsledky Avg() v SQLite pomocí klíčového slova DISTINCT

  4. MYSQL vyberte poslední 3 řádky, seřaďte podle ASC