Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP-Fehler:Aufruf einer Member-Funktion rowCount() für ein Nicht-Objekt

Wir haben es hier höchstwahrscheinlich mit Zeichenfolgen zu tun, daher müssen die Variablen in Ihren Werten in Anführungszeichen gesetzt werden.

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

Außerdem bedeutet die Verwendung von PDO allein nicht, dass Sie vor SQL-Injection sicher sind.

Eine Erkenntnis:

Stellen Sie sicher, dass Sie sich tatsächlich über PDO und nicht über mysqli_ verbinden . Ich sehe diese Art von Fragen oft.

Wenn das der Fall ist, vermischen sich diese verschiedenen MySQL-APIs nicht miteinander.

Jetzt das:

$password=$_GET["password"];

Das Übergeben eines Passworts durch ein GET ist auch nicht sicher; Sie wissen nicht, wer "mithört". Sie sollten POST verwenden. Ich hoffe auch, dass Sie einen Hash und keinen Klartext für die Passwortspeicherung verwenden.

Nebenbemerkung:Stellen Sie sicher, dass Sie tatsächlich GET verwenden und nicht mit POST verwechselt werden, sollte dies von einem HTML-Formular kommen.

Wahrscheinlich suchen Sie nicht nach Fehlern.

Fügen Sie $idconnex->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); hinzu direkt nachdem die Verbindung geöffnet wurde.

Fügen Sie Fehlerberichterstattung hinzu an den Anfang Ihrer Datei(en), um Fehler zu finden.

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

// rest of your code

Nebenbemerkung: Die Fehlerberichterstattung sollte nur in der Staging- und niemals in der Produktionsumgebung erfolgen.