php - 不唯一的表/别名 : 'user' phpmyadmin XAMPP

标签 php mysql xampp

我正在尝试将我的用户从数据库连接到运行 XAMPP 的浏览器。我从使用 users_index.php 文件中的以下代码创建的列表中选择一个用户 user:

<div class="list-group">
<?foreach ($users as $user ):?>

    <a href="<?=BASE_URL?>users/view/<?=$user['username']?>" class="list-group-item"><?=$user['username']?></a>

<? endforeach?>

这可以访问数据库并获取我的用户名,直到我运行包含 div 的 users_view.php 文件:

<div>
    <span class="badge badge-success">By <?=$post["username"]?></span>
    <div class="pull-right">
        <?if(!empty($users)) foreach ($users [$post ['post_id']] as $user):?>
    <a href="#"><span class = "label" style="background-color: #5bc0de"><?=$user?></span></a>
    <?endforeach?>
</div>

之后,我从列表中选择用户名,并收到此错误消息:

Not unique table/alias: 'user' In file C:\xampp\htdocs\blog\controllers\users.php, line 28, function view( )

当我进入该行时,这就是我所拥有的:

28: $user_id = get_one("SELECT user_id FROM user NATURAL JOIN user WHERE username='$username'");

我有一个运行 MySql 的数据库,我使用 PMA 通过浏览器访问它。在数据库中,我创建了“用户”表,其中包含“user_id”、“用户名”、“密码”和“已删除”列。

我的目标是:当我从列表中选择一个用户后,它应该显示该用户发布的帖子。

有什么想法吗?

最佳答案

在您的查询中,您只要求一张表,因此联接在这里无关紧要 - 这就是出现别名错误的原因 - 数据库引擎需要第二个表。

对于连接,您需要确保告诉 mysql 表之间的关系

例如:

SELECT user_id FROM user NATURAL JOIN user ON sometable.username = user.username WHERE user.username='$username'

因此在本例中,相关表是“sometable”。否则,您只需执行单个表查询:

SELECT user_id FROM user WHERE username='$username' 

对于您所要求的内容,您需要两个表,一个用于您的用户信息,另一个用于您的“用户发布的帖子”。

“用户发布的帖子”表可能有一个 post_id(唯一)和一个 user_id。

关于php - 不唯一的表/别名 : 'user' phpmyadmin XAMPP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21385424/

相关文章:

CSS 仅适用于旧的本地 IP (xampp)

php - 如何用php检查字符串是否在数组中?

php - 不能使用 php 字符串变量代替 html 纯文本

PHP/mySQL - 当新用户提交数据时定期重新计算基准值

Java - 从 MySQL 数据库中获取数据

php - 使用Windows任务计划程序和xampp服务器运行具有curl功能的php脚本

php - .htaccess 在 linux 服务器上不工作

java - 如何访问多选条件元组查询中的连接列?

mysql - 结果字段相关操作数

php - CodeIgniter 表单提交重定向到本地主机