mysqli_num_rows () erwartet, dass Parameter 1 mysqli_result ist, null bei [duplicate]

Diese Frage hat hier bereits eine Antwort:

mysql_fetch_array () / mysql_fetch_assoc () / mysql_fetch_row () / mysql_num_rows etc… erwartet, dass Parameter 1 eine Ressource oder ein Ergebnis ist 31 answers

Ich bin neu in PHP und habe eine neue Frage. Ich fange frisch mit mysqli an.

Ich arbeite in einem kleinen Register. Wenn ich möchte, dass der Wert und der Benutzername überprüft, ob er bereits vergeben sind, wird bei mysqli_num_rows der folgende Fehler ausgegeben: Warnung: mysqli_num_rows () erwartet, dass Parameter 1 mysqli_result ist, null, angegeben in C: \ xampp \ htdocs \ index.php on line 21

Kann mir da jemand helfen? Code

<?php

$db = mysqli_connect(
    'localhost',
    'root',
    '',
    'holycms');

if(!db) {
    exit("Verbindungfehler:" . mysqli_connect_error());
}

$username = $_POST["username"];
$password = $_POST["password"];

    if(isset($_POST["username"]) OR isset($_POST["password"])) {
        if(empty($_POST["username"]) OR empty($_POST["password"])) {
            echo "Bitte fuelle alle Felder aus!"; } else {
            $username = mysqli_real_escape_string($_POST['username']); 
            $rows = mysqli_query("SELECT FROM users WHERE username = ".'$username'."") or die(mysqli_error); }
            if(mysqli_num_rows($rows) > 1) {
                echo "Username bereits besetzt";
            } elseif(!ctype_alnum($_POST['username'])) {
                "Dein Benutzername darf keine Sonderzeichen besitzen";
            } elseif(strlen($_POST["username"])) {
                echo "Dein Username ist zu lang!"; 
            } else {
            $password = sha1($_POST["password"]);
            $db = mysqli_query("INSERT INTO users (username, password) VALUES ('$username', '$password'") or die(mysqli_error);
        } 
    }

?>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage