0

这里超级糊涂。我已经建立了一个网站,允许我使用 php 连接到 mysql。正如您在下面看到的,我需要 common.php,并且与数据库的连接、执行等没有问题。当我在我正在开发的新页面上使用完全相同的代码时,不起作用的是。我可以使用测试用户登录该站点,但该页面不会运行任何 SQL 查询来从我的数据库中提取信息。我得到的错误是:

“用户 'ec2-user@localhost' 的访问被拒绝(使用密码:否)”

我不明白为什么它试图以 ec2-user 身份连接,而这显然不是我要求代码连接的原因。

任何帮助,将不胜感激。几天来我一直在尝试解决这个问题,即使搜索 Google 神父,我也找不到合适的答案。

谢谢!

Common.php 代码

// At the top of the page we check to see whether the user is logged in or not 
if(empty($_SESSION['user'])) 
{ 
    // If they are not, we redirect them to the login page. 
    header("Location: index.php"); 

    // Remember that this die statement is absolutely critical.  Without it, 
    // people can view your members-only content without logging in. 
    die("Redirecting to index.php"); 
} 

common.php 的代码如下

<?php 

// These variables define the connection information for your MySQL database 
$username = "username"; 
$password = "password"; 
$host = "myhostnotyours"; 
$dbname = "thedatabase"; 


$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'); 

try 
{ 

    $db = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8", $username, $password, $options); 
} 
catch(PDOException $ex) 
{ 

    die("Failed to connect to the database: " . $ex->getMessage()); 
} 

$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 


$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); 

if(function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) 
{ 
    function undo_magic_quotes_gpc(&$array) 
    { 
        foreach($array as &$value) 
        { 
            if(is_array($value)) 
            { 
                undo_magic_quotes_gpc($value); 
            } 
            else 
            { 
                $value = stripslashes($value); 
            } 
        } 
    } 

    undo_magic_quotes_gpc($_POST); 
    undo_magic_quotes_gpc($_GET); 
    undo_magic_quotes_gpc($_COOKIE); 
} 

header('Content-Type: text/html; charset=utf-8'); 

session_start(); 
4

2 回答 2

0

可能位“(使用密码:否)”是您应该研究的位。做密码的事!

那么为什么不稍微缩小问题范围 - 而不是发布 100 多行代码

于 2013-08-07T03:30:31.703 回答
0

将您的密码变量设置为空。

$密码='';

于 2013-08-07T03:39:46.633 回答