mysqli_num_rows () espera que el parámetro 1 sea mysqli_result, nulo dado [duplicado]
Esta pregunta ya tiene una respuesta aquí:
mysql_fetch_array () / mysql_fetch_assoc () / mysql_fetch_row () / mysql_num_rows, etc.… espera que el parámetro 1 sea recurso o resultado 31 respuestasSoy nuevo en PHP y tengo una nueva pregunta. Estoy comenzando de nuevo con mysqli.
Trabajo en un pequeño registro. Si quiero el valor, nombre de usuario compruebe si ya está asignado, con mysqli_num_rows me sale el siguiente error: Advertencia: mysqli_num_rows () espera que el parámetro 1 sea mysqli_result, nulo dado en C: \ xampp \ htdocs \ index.php en línea 21
¿Puede alguien ayudarme allí? Código
<?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);
}
}
?>