【发布时间】:2016-01-10 22:14:20
【问题描述】:
似乎我的PHP 正在尝试使用我未提供的用户名登录MySQL 数据库。
我得到的错误是:
Warning: mysql_query(): Access denied for user 'radiocaf'@'localhost' (using password: NO) in /home/radiocaf/public_html/layout.php on line 16
Warning: mysql_query(): A link to the server could not be established in /home/radiocaf/public_html/layout.php on line 16
我确实提供了一个密码,并且没有在我的连接文件中使用“radiocaf”作为用户名,所以经过 3 个小时的凝视后,我仍然无法确定我哪里出错了。
这是我的代码:
psl-config.php:
define("HOST", "localhost");
define("USER", "carl");
define("PASSWORD", "xxxxxxxxx");
define("DATABASE", "wlist");
db_connect.php
include_once 'psl-config.php'; // As functions.php is not included
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
最后是我收到错误的主页(我已经剪掉了 PHP 之间的 HTML:
ini_set('display_errors',1);
error_reporting(E_ALL);
//Include Connection PHP and connect
include_once('includes/db_connect.php');
//Check Connection
if ($mysqli->connect_error) {
die('Connection failed: ' . $mysqli->connect_error);
};
if (!$query = mysql_query("SELECT * FROM (
(SELECT * FROM users)
UNION ALL
(SELECT * FROM members)
) results
ORDER BY Name DESC")){
die("Error: " . mysqli_error($mysqli));
}
if (!$result = $mysqli->query($query)){
printf("Error: %s\n", $mysqli->error);
}
<HTML>
echo "<table border='0' cellpadding='0' cellspacing='0'>";
$x=0;
while($row = mysql_fetch_assoc($result)):
if ($x<10){
echo "<tr><td width='400' height='30' background='../images/green1.jpg'>".$row["Name"]."</td></tr>";
}
$x++;
if ($x == 10){
echo "<tr><td width='400' height'30' background='../images/green1.jpg'>More...</td></tr>";
break;
}
endwhile;
echo "</table>";
<HTML>
$mysqli->close();
周围的HTML只是页面的布局,本质上只是一个photoshop布局,切片导出到web。
我对@987654328@ 还很陌生,所以我希望这个问题尽可能得到解释。
编辑:
非常感谢大家,我很抱歉这个问题对你们中的一些人来说似乎很糟糕,因为你们标记了它。不幸的是,我不会看到“错别字”,因为我真的不知道我正在尝试同时使用 mysql 和 mysqli 并且它们无法相互“交流”。我发现的另一个问题是 Dreamweaver 将代码从 layout.php 上传为 db_connect.php。这并没有解释(至少对我而言)是如何建立任何连接以显示 'radiocaf'@'localhost' 的访问被拒绝错误。
这是我更改的旧代码行(在 layout.php 中):
if (!$query = mysql_query("SELECT * FROM (
while($row = mysql_fetch_assoc($result)):
改为:
if (!$query = "SELECT * FROM (
while($row = mysqli_fetch_assoc($result)):
仅此而已,但我非常感激!再次感谢大家!
【问题讨论】:
-
如果您使用的是 mysqli,请使用 mysqli。你穿插mysql函数调用,这是你的问题。 mysqli 和 mysql 是两个完全不同的、不相关的 API。
-
它说错误在
layout.php,你检查过那个文件吗?