我是PHP新手,有一个新问题。我正在开始使用mysqli。
我在一个小册子上工作。如果我想要值,用户名检查它是否已经分配,使用mysqli_num_rows我输出以下错误:警告:mysqli_num_rows()期望参数1为mysqli_result,在C:\ xampp \ htdocs \ index.php中给出null 21
有人可以帮助我吗?代码:
<?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);
}
}
?>
答案 0 :(得分:2)
我可能在这里错了,但是当你在进行SELECT查询时,你没有指定你想要选择的内容。
$rows = mysqli_query("SELECT FROM users WHERE username = ".'$username'."")
应该是:
$rows = mysqli_query($db, "SELECT * FROM users WHERE username = '".$username."'")