我收到以下错误:
访问被拒绝用户'apache'@'localhost'(使用密码:否)
使用以下代码时:
<?php
include("../includes/connect.php");
$query = "SELECT * from story";
$result = mysql_query($query) or die(mysql_error());
echo "<h1>Delete Story</h1>";
if (mysql_num_rows($result) > 0) {
while($row = mysql_fetch_row($result)){
echo '<b>'.$row[1].'</b><span align="right"><a href="../process/delete_story.php?id='.$row[0].'">Delete</a></span>';
echo '<br /><i>'.$row[2].'</i>';
}
}
else {
echo "No stories available.";
}
?>
Run Code Online (Sandbox Code Playgroud)
该connect.php文件包含我的MySQL连接调用,可以在我INSERT的软件的另一部分中查询.如果我注释掉该$result = mysql_query行,那么它将进入else语句.所以,就是那条线或if中的内容.
我一直在网上搜索任何解决方案,大多数似乎与太多的MySQL连接有关,或者我登录MySQL的用户没有权限.我检查了两个.我仍然可以在软件的其他位置执行其他查询,并且我已验证该帐户具有正确的权限.
dra*_*ank 11
如果它很重要,apache @ localhost不是我用来进入数据库的用户帐户的名称.在这个问题上,我根本没有任何名为apache的用户帐户.
如果它是'apache @ localhost',则用户名未正确传递给MySQL连接.'apache'通常是运行httpd进程的用户(至少在基于Redhat的系统上),如果在连接期间没有传递用户名,则MySQL使用任何人调用连接.
如果您在脚本中进行连接,而不是在被调用文件中进行连接,是否会出现相同的错误?