【问题标题】:Trouble using PHP and MySQL to see if a user exists无法使用 PHP 和 MySQL 查看用户是否存在
【发布时间】:2015-03-27 14:20:31
【问题描述】:

我已经查看了其他各种 SO 答案,但仍然无法使其正常工作。我知道我的summonerid 很好,因为我可以回显它。我也可以访问我的 MySQL 表,所以它必须是我的查询语法。

$query="SELECT FROM UserTable (summonerid) WHERE summonerid='$usersummonerid'";
if(mysql_num_rows($query)<1) 
{
   //register name
} else {
   //name exists already
}

我回来的错误


警告:mysql_query():无法建立连接 因为目标机器主动拒绝了。在 C:\xampp\htdocs\GVLegends\Scripts\check.php上线 21

警告:mysql_query():指向 无法建立服务器 C:\xampp\htdocs\GVLegends\Scripts\check.php上线 21

警告:mysql_num_rows() 预计 参数 1 为资源,布尔值 C:\xampp\htdocs\GVLegends\Scripts\check.php上线 22

这是我的整个 PHP 上下文(对不起,如果它看起来编码不好,我是 PHP 新手)

<?php
//login details

$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}

$username = $_POST['user'];
$userpassword = $_POST['pass'];
$usersummoner = $_POST['summoner'];
$usersummonerid = $_POST['summonerid'];
$useremail = $_POST['email'];

$query="SELECT FROM UserTable (summonerid) WHERE summonerid='$usersummonerid'";
if(mysql_num_rows($query)<1) {
  $sql = "INSERT INTO UserTable (name, password, summonerid, summonername,email)
  VALUES ('$username', '$userpassword', '$usersummonerid', '$usersummoner',$useremail')";
  if ($conn->query($sql) === TRUE) {
    echo '{"success":true}';
  } else {
    echo '{"success":false}';
  }
} else {
  echo '{"success":false}';
}

$conn->close();
?>

【问题讨论】:

标签: php mysql


【解决方案1】:
$query="SELECT FROM UserTable (summonerid) WHERE summonerid='$usersummonerid'";
if(mysql_num_rows($query)<1) {...}

您究竟在哪里执行此查询?除了可怕的安全问题,你所做的只是定义一个字符串

mysql_num_rows() 期望执行查询的结果作为其参数,而不仅仅是 PHP 字符串值....您需要执行您在字符串中定义的查询以获得结果

【讨论】:

  • 对不起,我是 PHP 新手,它位于受保护的 Scripts 文件夹中。我正在做一个 AngularJS 回调来查看召唤者(名字)是否存在。 ://
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-06
  • 1970-01-01
相关资源
最近更新 更多