1

我是一个相当新手的编码器,有一个问题我希望有人可以帮助我。

我正在学习一系列教程,并且在能够遵循方面取得了一定的成功,更有趣的是,该站点连接到数据库并在请求的地方显示数据库的内容,但是当我尝试执行一个函数时,我'我正在工作,我使用密码 NO 消息拒绝访问。

这是我的函数的外观

function Member_Data($user_id) {
    $data = array();
    $user_id = (int)$user_id;

    $func_num_args = func_num_args();
    $func_get_args = func_get_args();

    if($func_num_args > 1) {
        unset($func_get_args[0]);

        $fields = '`' . implode('`, `', $func_get_args) . '`';
        $data = mysql_fetch_assoc(mysql_query("SELECT $fields FROM `members` WHERE `ID` = $user_id"));
        echo mysql_error();

        print_r($data);
        //die();
        //return $data;
    }
}

在我拥有的标签之前的 head.php 中

if(loggedin() === true) {
    $Session_memberID = $_SESSION['memberID'];
    $MemberData = Member_Data($Session_memberID, 'ID', 'FName', 'LName', 'Email', 'Password');
    }

但是当我尝试检索数据时(即:print_r($data);)我得到一个空白屏幕但是当我添加 echo mysql_error(); 我得到:用户'obscuredforsecurity'@'localhost'的访问被拒绝(使用密码:否)

但是所有其他页面都连接得很好,而且我在连接其他教程时没有问题,但由于某种原因(我不知道)我无法连接它,所以我可以按照本教程进行操作。

如果有人不介意与我分享我做错了什么,我将不胜感激,我再次感谢大家。

斯图尔特 K

4

1 回答 1

1

正如 Adelphia 所说,这将有助于了解您如何连接到数据库,因为您指出的错误是与连接相关的错误。

另外,要小心这个函数之外的副作用,也许是在调用这个函数之前意外关闭数据库连接的副作用(别笑,它发生的次数比你想象的要多;我们开发人员偶尔会做那些愚蠢的错误!)

在进行查询之前,请回显 mysql_error() - 如果您在调用之前发现数据库连接不可用,我不会感到惊讶。如果是这种情况,请找出连接是如何关闭的。(提示:在整个代码库中搜索 mysql_close())

旁注:不推荐使用 mysql_ 函数,开始迁移远离它们的建议是合理的。看看 mysqli_ 函数 - 它们在很多方面都接近 mysql_ 并且易于学习:)

于 2013-04-16T16:05:26.187 回答