唯一用户名测试

时间:2014-10-30 01:08:29

标签: php mysql

所以我试图测试输入的用户名是否尚未存储在数据库中,因此 - >`

  $testU = trim($_POST['Username']);
  $qusertest = "SELECT * FROM user WHERE Username=$testU";
  echo ''.$qusertest.'';
  $rusertest = mysqli_query($dbc, $qusertest);
  echo ''.$rusertest.'';
  $utrow = mysqli_fetch_array($rusertest, MYSQLI_ASSOC);
  if($utrow[1] == $testU){
  $U = trim($_POST['Username']);
} else {
  $errors[] = 'This username has already been taken, please select a new username';
}`

这两个回声仅用于测试代码无法正常工作的原因。 我在其他地方有类似的设置,包括$ testU变量(除了它有不同的名称,但以相同的方式工作)。

在测试代码时,我得到以下SQL查询

SELECT * FROM user WHERE Username=test

我在数据库中拥有的一个帐户名称为" test"当我在数据库中使用相同的SQL搜索它时,我得到了返回的结果。然而,当通过php执行此操作时,它会提供此错误代码。

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\wamp\www\ReviewWebsite\Register.php on line 37

这可能意味着"测试"实际上并没有工作(尽管MySQL工作中的SQL)并且正在返回" FALSE"而不是结果。

当更改SQL查询以包含引号('')时(我应该这样做但我测试它以查看它是否可行)我收到此错误,这导致我相信这种方法是非常错误的。

Catchable fatal error: Object of class mysqli_result could not be converted to string in C:\wamp\www\ReviewWebsite\Register.php on line 36

任何帮助都会很棒,拜托,因为我不知道我忽略了什么。

0 个答案:

没有答案