从php进入数据库不起作用(SQL查询没有给出错误)

时间:2017-09-22 16:26:54

标签: php mysql mysqli

有两个变量(登录名和密码)通过ajax方法将php传递给POST。接下来,我需要从数据库中获取所有内容,以确定该名称是否已经忙碌。我正试图这样做,但没有任何反应。为什么? SQLs中的phpmyadmin没有犯错误。

$connection = mysqli_connect('127.0.0.1', 'root', '', 'myDb');

if( $connection == false)
{
    echo 'Не удалось подключиться к базе данных!<br>';
    echo mysqli_connect_error();
    exit();
}
session_start();
$name     = $_POST['user'];
$password = $_POST['pass'];
$_SESSION['user'] = $name;
$_SESSION['pass'] = $password;

if (!isset($name, $password) || empty($name) || empty($password)){
    http_response_code(400);
    die();
}

$count = mysqli_query($connection, "SELECT * FROM  `users` WHERE(`Name` == '$name'");

if (mysqli_num_rows($count) == 0)
{
    mysqli_query("INSERT INTO `users` (`Name`, `Password`) VALUES ('$name', '$password')");
}
mysqli_close($connection);

AJAX

$(document).ready(function() {
  $('#submit').click(function() {
    var name = $('#username').val();
    var password = $('#password').val();
    $.ajax({
      type: 'POST',
      url: 'php/login_script.php',
      data: {
        user: name,
        pass: password
      },
      success: function() {
        document.location = 'chat.html';
      },
      error: function() {
        alert('Invalid name or password');
      }
    });
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

1 个答案:

答案 0 :(得分:-1)

在你的select语句中,$ name的where子句有两个等号。可能的问题。

我建议你回顾一下你在做什么,部分内容是不好的做法,不推荐。