2016-11-20 73 views
1

我写了一些php网页使用的函数,以便与mysql数据库交互。总共有5个类似的php页面。当我在本地服务器上测试它们时,一切正常。数据填充在mysql数据库中。但是当我把它放在web服务器上时,我的php文件中有3个显示“无法连接:拒绝用户root'@'localhost'(使用密码:YES)”。而其他两个文件按预期执行。我使用phpmyadmin,并通过cPanel托管网站。有人可以帮我解决这个问题吗?在Web服务器上运行php文件时出现“无法连接”错误

以下是抛出错误

<?php 
session_start(); 
define ('DB_NAME', 'roze'); 
define('DB_USER', 'root'); 
define('DB_Password', 'good'); 
define('DB_HOST', 'localhost'); 

$link = mysql_connect(DB_HOST, DB_USER, DB_Password); 

if (!$link) 
{ 

die('Could not connect: ' . mysql_error()); 

} 

$db_selected = mysql_select_db(DB_NAME, $link); 

if (!$db_selected) 
{ 
    die('Cannot use' . DB_NAME . ': ' . mysql_error()); 
} 

echo 'Connected Successfully'; 


$value4 = $_POST['couch_table']; 



$sql = " UPDATE master set couch_table= '".$value4."'"; 

if (!mysql_query($sql)){ 
die('Error: ' . mysql_error()); 
} 

header('location: room.html'); 

?> 

其他信息一个我的PHP文件中的代码:我创建了我的FTP并通过FileZilla中uplaoded我的文件。

+4

那么,我们当然无法帮助您使用您的数据库服务器凭据。但是,如果您使用的是某个托管服务提供商,那么我很怀疑您有权访问其数据库服务器的“root”帐户。 – arkascha

+3

请不要使用'mysql_ *'函数。它们在PHP 5.5中被弃用,它已经很旧了,甚至不再接收安全更新,而是在PHP 7中完全删除。相反,使用PDO或'mysqli_ *'。有关详细信息,请参阅http://stackoverflow.com/q/12859942/354577。 – Chris

+3

你确定你在所有文件中都有相同的密码吗?因为该错误消息基本上告诉你“你的密码无效”。另外:你应该把你的凭据放在一个单独的文件中,然后包含它。另外:**不要**使用在PHP7中删除的不推荐使用的'mysql'函数,而是使用'mysqli'或'PDO'。你的代码很容易受到SQL注入的影响,想象有人发布像''这样的值; DROP TABLE master - ' - 使用参数化语句来保护自己。 –

回答

0

此外,您可以尝试创建一个具有所有权限的新的mysql用户,然后使用该凭据进行连接。

相关问题