【问题标题】:Error when running external php mysql query through JQuery通过 JQuery 运行外部 php mysql 查询时出错
【发布时间】:2015-09-19 10:50:10
【问题描述】:

嘿,我正在使用 JQuery 调用文件“login.php”。当我在弹出模式上单击登录时,我收到错误

Access denied for user 'urbanas8'@'localhost' (using password: NO)

当我知道与数据库的连接是正确的并且它可以与不调用外部 PHP 文件的其他页面一起工作时。我不明白为什么会发生这个错误,但也许你们中的一个人可以告诉我这里发生了什么?

登录模式

<!--LOGIN MODAL -->
<?php require_once( "./inc/connect.inc.php" ); ?>
<div class="modal fade col-sm-4 col-sm-offset-4" id="login" role="dialogue">
    <div class="modal-dialogue">
        <div class="modal-content">
        <form action="" method="POST">
            <div class="modal-header">
                <h4>Login</h4>
            </div>
            <div class="modal-body row">    
                <div class="form-group">
                    <div class="col-sm-12">
                        <input type="text" class="form-control" id="userName" placeholder="email address">
                    </div>
                    <div class="col-sm-12">
                        <input type="password" class="form-control" id="userPassword" placeholder="password">
                    </div>
                    <!-- END ADDRESS FORM -->
                </div>
            </div>
            <div class="modal-footer">
                            <button type="button" class = "btn btn-warning" id="loginButton" value="login" name="/login">Login</button><a class = "btn btn-warning" data-dismiss = "modal">Cancel</a>
            </div>
                </form>
                <script>
                $(document).ready(function(){
                    $("#loginButton").click(function(){
                        console.log("test123");
                        var username = $("#userName").val();
                        var password = $("#userPassword").val();
                        $.post("../login.php", {login:username, password:password}, function(data){
                        console.log(data);
                    });
                });
            });
            </script>
        </div>
    </div>
</div>

login.php

<?php   

if(isset($_POST['login'])){
    echo "<br>login is set<br>";
    $user_login = strip_tags($_POST['login']);  
    echo $user_login."<br>";
    $password_login = strip_tags($_POST['password']);
    echo $password_login."<br>";
    $password_login = md5($password_login);
    echo $password_login."<br>";
    $sql = mysql_query("SELECT * FROM users WHERE email='$user_login' AND password='$password_login' LIMIT 1") or die(mysql_error());
    $userCount = mysql_num_rows($sql);
    echo $userCount."<br>";
    if($userCount == 1){
        while($row = mysql_fetch_array($sql)){

            $user_id = $row["id"];
            $user_fname = $row["first_name"];
            $user_lname = $row["last_name"];
            $user_membersince = $row["date"];

        }

        $_SESSION['user_email'] = $user_login;
        $_SESSION['user_fname'] = $user_fname;
        $_SESSION['user_lname'] = $user_lname;
        $_SESSION['user_membersince'] = $user_membersince;

        echo("logged in!");

    }else {
        echo("invalid username/password");
    }
}
?>

connection.inc.php

<?php
$db = mysql_connect("localhost:3306", "urbanas8_login", "Ure1982*") or die(mysql_error);
mysql_select_db('urbanas8_db', $db) or die(mysql_error());
?>

【问题讨论】:

  • login.php上没有定义连接

标签: javascript php jquery mysql phpmyadmin


【解决方案1】:

登录mysql的用户名有问题。您的错误消息显示用户名“urbanas8”,但您的连接文件显示“urbanas8_login”。

您没有在 login.php 中包含文件“connection.inc.php”

我建议你使用 mysqli 而不是 mysql。它已被弃用。

<?php 
//conection: 
$link = mysqli_connect("myhost","myuser","mypassw","mybd") or die("Error " . mysqli_error($link)); 

//consultation: 

$query = "SELECT name FROM mytable" or die("Error in the consult.." . mysqli_error($link)); 

//execute the query. 

$result = $link->query($query); 

//display information: 

while($row = mysqli_fetch_array($result)) { 
  echo $row["name"] . "<br>"; 
} 
?> 

【讨论】:

  • 我已经通过 connection.inc.php 连接了。我将代码添加到 login.php 的顶部并得到了相同的结果。
  • 我该怎么做?我将发布我的连接文件
  • 这就是登录名,connection.php 在所有其他页面上都可以正常工作
  • 您的错误消息显示的用户名与您的连接文件不同,请参阅@MichaelCollins
  • 你认为这是为什么呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-29
  • 2022-01-16
  • 2010-12-10
  • 1970-01-01
  • 2020-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多