您运行查询的方式是错误的。它容易出错,并且总是会给您这样的错误。而且,它也易于进行SQL注入。
将变量直接添加到查询中时,其内容可能会受到干扰,这会导致很多麻烦,从此类错误到SQL注入。要彻底摆脱此类错误,您必须先准备好查询,在变量旁边添加问号,然后分别发送。这样,它将永远不会干扰。
您必须先准备查询,然后绑定变量,然后执行:
$sql = "SELECt username, password, email FROM users WHERe username=?";$stmt = $con->prepare($sql);$stmt->bind_param("s", $username);$stmt->execute();$res = $stmt->get_result();if($res->num_rows()){ echo "<div > <h3>Username already in use.</h3></div>";}


