准备行数语句有问题

我一直在使用PHP和SQL创建网站。在我的最后一个问题中,有人指出我应该使用准备好的语句来保护我的站点免受SQL注入。我一直在浏览我的网站,将所有查询都更改为准备好的语句,但是在用户注册时检查数据库中是否存在用户名时遇到问题。

这是我尝试过的代码,它不会产生任何错误,但是它允许用户使用我的users表中已经存在的用户名进行注册。

$uname = $_POST['uname'];
$stmt = $link->prepare("SELECT * FROM users WHERE username= ?");

   /* Bind parameters,s - string,b - blob,i - int,etc */
   $stmt -> bind_param("s",$uname);
   $stmt -> execute();

   /* Fetch the value */
   $stmt -> fetch();
   $numberofrows = $stmt->num_rows;

   /* Close statement */
   $stmt -> close();

if($numberofrows>0) {
   echo "username Already Exist";
} else {
//rest of my code
}

谢谢!

leikai945 回答:准备行数语句有问题

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3025921.html

大家都在问