MySQL函数不起作用

时间:2014-03-30 16:04:02

标签: php mysql

感谢您的回答! 我得到了很多反馈,我有一个答案,我修复了它。谢谢!

我正在为我的网站制作用户登录系统。我希望更新更快,所以我将确切的文件移动到我的本地服务器(Apache / 2.2.22(Ubuntu)),它突然不起作用。数据库是外部的,因此不需要更改主机名。有任何想法吗?我没有错误,它只是不解析MySQL位。

连接文件:

<?php
    $host = "xxxxxxx.xxxxxxxxx.xx.xx";
    $user = "sh0u_xxxxxx";
    $pass = "xxxxx";
    $db   = "sh0u_1xxxxx_store";
    mysql_connect($host,$user,$pass) or die("Unable To Connect To Database");
    mysql_select_db($db)
?>

登录档案:

<?php
    session_start();
    session_destroy();
    include('connect.php');
    $email = $_POST['email'];
    $pass = md5($_POST['password']);
    $query = mysql_query("SELECT * FROM users WHERE email='".$email."' AND password='".$pass."'");
    $numrows = mysql_num_rows($query);
    if($numrows === 1) {
        session_start();
        $_SESSION['sid'] = "".$email.":".$pass."";
        header('Location:../index.php');
    }else {
        include('../login.php');
        echo "<script>alert('Incorrect Username and/or Password');</script>";
    }
?>

1 个答案:

答案 0 :(得分:0)

大多数托管服务提供商不允许外部访问其计划中包含的数据库。不仅如此,大多数人都使用localhost作为数据库服务器,以强制套接字连接(这样他们甚至可以完全禁用与其数据库的网络连接)。

要在本地测试您的脚本和站点,您需要下载数据库的转储并自行创建它的本地版本。

您的代码的其他问题

正如评论中提到的那样:

  • 您应该使用MySQL Improved Extension,而不是旧的(并且已弃用)MySQL扩展
  • 您没有清理用于查询的数据(使用预准备语句)
  • MD5对密码不安全,您应该使用新的password_hash而不是
相关问题