小编Mes*_*din的帖子

PHP MySQL查询中的MySQL/Apache错误

我收到以下错误:

访问被拒绝用户'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的用户没有权限.我检查了两个.我仍然可以在软件的其他位置执行其他查询,并且我已验证该帐户具有正确的权限.

php mysql apache

26
推荐指数
1
解决办法
8398
查看次数

MySQL SELECT 中使用 LEFT JOIN 的空行

我有三个表,分别称为:usersfacilitiesstaff_facilities

users包含平均用户数据,在我的例子中最重要的字段是users.idusers.firstusers.last

facilities还包含相当多的数据,但除了 之外,没有一个数据一定与此示例相关facilities.id

staff_faciltiesstaff_facilities.id由(int,auto_inc,NOT NULL)、staff_facilities.users_id(int,NOT NULL) 和staff_faciltities.facilities_id(int,NOT NULL)组成。(那是一口!)

staff_facilities引用其他两个表的 ID,我们调用该表来查找用户的设施和设施的用户。

这是我在 PHP 中的选择查询:

SELECT users.id, users.first, users.last FROM staff_facilities LEFT JOIN users ON staff_facilities.users_id=users.id WHERE staff_facilities.facilties_id=$id ORDER BY users.last
Run Code Online (Sandbox Code Playgroud)

该查询在我们的开发服务器上运行得很好,但是当我将其放入客户端的生产环境中时,结果集中经常会出现空白行。我们的开发服务器使用客户端生产服务器上已存在的复制表和数据,但硬件和软件差异很大。

这些行没有任何信息,包括需要在数据库中输入 NOT NULL 值的三个 id 字段。通过后端的MySQL管理工具运行查询会返回相同的结果。在表中搜索 NULL 字段没有找到任何结果。

另一个奇怪的事情是,空行的数量根据 WHERE 子句 id 检查导致的不同结果而变化。通常大约有一到三个空行,但使用相同参数时它们是一致的。

我曾多次处理过由于 LEFT JOINS 而返回几乎重复的行,但我以前从未发生过这种情况。就显示信息而言,我可以轻松地向最终用户隐藏它。我主要担心的是,随着时间的推移和记录数量的增加,这个问题将会变得更加复杂。目前,该系统刚刚安装完毕,表中已经有 2000 多条记录staff_facilities

任何见解或方向将不胜感激。我还可以提供更详细的示例和信息。

mysql left-join

0
推荐指数
1
解决办法
7797
查看次数

标签 统计

mysql ×2

apache ×1

left-join ×1

php ×1