Vinzenz Mai: + (PHP): mysqli_num_rows() erwartet Parameter?

Beitrag lesen

Hallo,

function checkUserData($name, $password){
    $q = "SELECT
            password
          FROM
            member
          WHERE
            name = '".$username."'";

Ich zitiere Theo Lingen:
Traurig, traurig, traurig.

Solcher Code gehört verboten! Du liest doch hier recht viel mit.
Warum arbeitest Du nicht mit mysqli_prepare,  bind_param(), und mysqli_stmt_execute() oder wenigstens mit mysqli_real_escape_string. Warum verwendest Du nicht den objektorientierten Ansatz, wenn Du schon versuchst, objektorientiert zu programmieren?

$result = mysqli_query($this->connection, $q);

Hm, hm. Was könnte wohl jetzt in $result stehen, wenn Du folgende Warnung erhältst?

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in D:\xampp\xampp\htdocs\test2.php on line 20

Du übersiehst also die Möglichkeit, dass Deine Abfrage fehlschlägt. Du übersiehst die Möglichkeit, dass in $result _nicht_ vom Typ mysqli_result ist.

Das kann ich mir nicht so richtig erklären.

Aber dafür der Handbuchabschnitt zu mysqli_query ...
Du solltest ihn lesen - und verstehen.

Freundliche Grüße

Vinzenz