PHP连接MySQL数据库无法正常工作

时间:2016-02-10 12:37:04

标签: php mysql mamp

我正在尝试使用PHPMyAdmin和MAMP创建数据库登录。我在index.html中创建了一个简单的登录表单,并在输入正确的用户名和密码后将我的php代码放在connect.php中打开home.php。但是当我输入用户名和密码时(甚至当我输入随机文本时) )我被带到localhost:8888 / connect.php没有错误信息,只是一个空白页面。有什么想法吗?

这是index.html代码

<head>
  <body>
    <font>
      <center><h1>Login</h1></center>
    </font>
    <form action="connect.php" method="POST">
      Username:<input type="text" name="username">
      Password:<input type="password" name="pass"><br>
      <input type="submit" value="login" name="submit">
    </form>
  </body>
</head>

这是在connect.php

<?php

require ('msql_connect.php');
if (isset($_POST['submit'])){
    $username=mysql_escape_string($_POST['username']);
    $password=mysql_escape_string($_POST['pass']);

}
$inputuser = $_POST['user'];
$inputpass = $_POST['pass'];

$user = "root";

$database = "test";

@mysql_select_db($database) or ("Database not found");

$query = "SELECT * FROM 'login' WHERE 'user' = '$username' AND 'password' = '$password'";

$result = mysql_query($query);
$row = mysql_fetch_array($result);

    if(!$result){
        echo "Sorry, bad login";
        die("Username or password is invalid");
        //Might be better to redirect back to the login page with a freindly message
    } else {

    $valid_user = mysql_fetch_array($result); 
    mysql_close();
    header('Location: home.php');
  }
?>

更新: 没有mysql_connect.php,我已将所有mysql_更改为mysqli_,并注释掉了require(),它给我带来了错误的用户名和密码错误消息,但它们应该正常工作。

现在看起来像这样

<?php

// require ('connect.php');
if (isset($_POST['submit'])){
    $username=mysqli_escape_string($_POST['username']);
    $password=mysqli_escape_string($_POST['pass']);

}
$inputuser = $_POST['user'];
$inputpass = $_POST['pass'];

$user = "root";
$password = "";
$database = "fuf_db";
$connect = mysqli_connect("localhost",$user,$password);
@mysqli_select_db($database) or ("Database not found");

$query = "SELECT * FROM 'SuperAdminUsers' WHERE 'user' = '$username' AND 'password' = '$password'";

$result = mysqli_query($query);

    if(!$result){
        echo "Sorry, bad login";
        die("Username or password is invalid");
    } else {
        // $row = mysqli_fetch_array($result);

    $valid_user = mysqli_fetch_array($result); 
    mysqli_close();
    header('Location: home.php');
  }
?>

这些是我得到的错误: -

警告:mysqli_escape_string()需要2个参数,1在第5行的/ / connect.php中给出

警告:mysqli_escape_string()需要2个参数,1在第6行的/ / connect.php中给出

注意:第9行的未定义索引:用户位于... / connect.php

警告:mysqli_connect():( HY000 / 1045):第15行的... / connect.php中用户'root'@'localhost'(使用密码:NO)拒绝访问

警告:mysqli_query()需要至少2个参数,在第20行的... / connect.php中给出1 对不起,糟糕的loginUsername或密码无效

1 个答案:

答案 0 :(得分:1)

此代码可能因多种原因而被破坏。

  1. 您必须收到错误。所以在文件开头设置它。

    ini_set('display_errors', true);

  2. 检查mysql配置文件中是否有正确的数据。

  3. 也许你有新的PHP版本和方法mysql不支持,所以将每个mysql_方法改为mysqli _