好的,我知道之前已经问过这个问题,但我搜索过的都没有作为解决方案。我一直在第21行得到这个错误:
<?php
include("config.php");
$con = mysqli_connect("$host", "$mysqlusername", "$mysqlpassword")or die("cannot connect");
$username=$_POST['username'];
$password=$_POST['password'];
$password2=$_POST['password2'];
$email=$_POST['email'];
if ($password == $password2) {
}
else
{
echo "Passwords did not match.";
}
$encryptedpass = md5($password);
$query = mysqli_query($con,"SELECT * FROM members WHERE username = '". $username ."' OR email = '". $email ."'");
if (mysqli_num_rows($query) > 0)
{
echo 'Username or email already in use.';
}
else
{
mysqli_query($con,"INSERT INTO members (username, password, email)
VALUES ('$username', '$encryptedpass','$email')");
}
mysqli_close($con);
?>
另外,我知道我有一个MySQL注入漏洞。那么有人可以帮助我吗?
答案 0 :(得分:0)
mysqli_query返回布尔值有两个原因:查询失败或查询未返回结果集。在这种情况下,由于您正在进行返回结果集(SELECT)的查询,因此只有第一个选项可以为true,因此查询必定已失败。找出错误消息是什么并修复您的查询。您可以使用mysqli_error找到它。
您可能还需要在查询之前选择数据库。你只能连接。使用mysqli_select_db。