- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在处理新闻源,我希望这是对的,但我希望上传的图片链接到上传它的用户。我有 2 个表。
users
帐户存储在这里。
picas
上传的图片存储在这里。
我有 users
一个名为 user_id
的主键我在 picas
表一个名为 id
的主键.我在 picas
一个名为 user_id
的新列上传图像时,我告诉 PHP 从登录用户那里获取 ID,然后将其插入到 user_id
中。表中的列 picas
这样我就可以看到哪个用户上传了图片。
所以我的users
表格如下所示:
+-------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+----------------+
| user_id | int(1) | NO | PRI | NONE | AUTO_INCREMENT |
+-------------+-------------+------+-----+---------+----------------+
还有我的picas
表格如下所示:
+-------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+----------------+
| id | int(1) | NO | PRI | NONE | AUTO_INCREMENT |
+-------------+-------------+------+-----+---------+----------------+
| user_id | int(1) | NO | | NONE | |
+-------------+-------------+------+-----+---------+----------------+
目前我对新闻源有疑问。它显示不同用户的头像和姓名,但如果我在登录帐户时发布内容,它会为每个用户发布。所以如果我有 5 个不同的用户,我登录,上传图片,然后我立即看到 5 个帖子。在这里查看我的屏幕截图以获得更好的显示 --> http://i.imgur.com/VXwlbra.png
如果您单击图像,标题也一样。如果我放弃一个头衔,那么它也会显示在其他用户身上。我上传时的代码:
uploadfile.php 这里我把上传的文件存入数据库。
<?php
if (isset($_POST['submit_pica'])) {
$newName = md5(time().$_FILES['pica']['tmp_name']).'.jpeg';
$postTitle = $_POST['postTitle'];
$ses_user = $_SESSION['username'];
$getuserid = mysqli_fetch_assoc($mysqli->query("SELECT id FROM users WHERE username='$ses_user'"));
$userid = $getuserid['id'];
$result = $mysqli->query("INSERT INTO picas (id, name, title, created_at, user_id)
VALUES (null, '$newName', '$postTitle', null, '$userid')");
echo "<script>
$('.upload_button').click(function() {
$('#uploadform').slideUp(300);
});
</script>";
move_uploaded_file($_FILES['pica']['tmp_name'], 'upload/'.$newName);
}
?>
showimages.php(这里我从数据库输出图片。
<?php
$result = $mysqli->query("SELECT *
FROM picas, users
ORDER BY created_at DESC");
$ses_user = $_SESSION['username'];
while($pica = $result->fetch_assoc()) {
echo '<div class="image_post">
<div class="user_avatar"><img src="avatars/'.$pica['username'].'.jpeg" /></div>
<div class="user_name">'.$pica['username'].'</div> <br><br><br>
<div class="image_title">'.$pica['title'].'</div>
<img src="upload/'.$pica['name'].'" />
</div>';
}
?>
我的 friend 说我必须创建一个外键 所以它在 user_id
之间创建了一个关系来自 picas
和 user_id
来自 users
.
显然它没有用。我从所有内容中获取了最新版本。
我只能选择:users
或 picas
表(逻辑,因为我只有这些),然后在它旁边的选项字段中,我只能选择 id
或 user_id
(取决于我选择哪个表)。
它给了我这个错误:http://i.imgur.com/2ukfKsH.png在 imgur 链接中,您还可以看到我填写的内容。我转到表格:picas > structure > relation view
它不起作用。我希望使用外键是解决新闻源这个问题的方法,因为我希望在上传图像时,它会输出上传图像的用户,而不是输出上传图像的用户 + 存储的所有其他用户在数据库中。请帮我。我已经为此奋斗了一个星期。这让我发疯!
最佳答案
感谢您在写这个问题时的用心。
专业提示:避免在软件查询中使用 SELECT *
。使用 SELECT *
可以让您在考虑结果集中想要的内容时马虎。
专业提示:如果您想要来自多个表的结果,请使用 JOIN
指令而不是逗号分隔的表列表。这使您能够清楚地思考表格之间的关系。
您正在使用此查询来显示您的项目。
SELECT * /*wrong!*/
FROM picas, users /*combinatorial explosion!*/
ORDER BY created_at DESC
此查询使用来自 picas
和 users
的所有可能的行组合来组装一个结果集。幸运的是,您在 picas
中还没有 50 个用户和 100 个条目,否则此查询将产生 5000 行。
你的查询需要的是这样的:
SELECT users.user_id, users.username,
picas.id, picas.name, picas.title, picas.created_at
FROM users
JOIN picas ON users.user_id = picas.userid
WHERE users.username = '$ses_user'
ORDER BY picas.created_at DESC
这将构建一个包含我提到的列的结果集。它将使用 ON
子句中的条件以有意义的方式连接两个表中的数据。
关于php - phpmyadmin 中的外键在新闻源中给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24108848/
在 phpMyAdmin 的设置过程中,创建了一个 phpMyAdmin 用户,当我查看 phpMyAdmin 数据库权限时,我可以看到该用户。哪个 PHP 文件存储了该用户的密码? 最佳答案 保罗,
如何删除 phpMyAdmin 中的框架? 最佳答案 打开/usr/share/phpmyadmin/index.php(它在我的 Ubuntu 机器上)。不要忘记使用 sudo 或成为 root。
我读过官方文档说 phpMyAdmin 应该安装在 Web 服务器的文档根目录中。 我想问一下我是否必须为我拥有的每个 DocumentRoot 放置一个 phpMyAdmin,或者是否有一个很好的解
在遵循 youtube 上的 2019 教程后,无法在 virtualbox 上滚动的 kali linux 上安装 phpmyadmin, 尝试过 sudo apt-get install phpm
请帮忙,我总是在经历所有这些事情时遇到麻烦。当我只需要 phpmyadmin 有一个登录表单时,我就可以输入密码和用户名。 我不需要本文档中包含的所有内容。是否有针对初学者的教程,介绍如何在 phpm
标题几乎总结了我的问题。 我只想了解如何禁用远程登录到我的 phpmyadmin。 我宁愿只能从本地主机登录到 phpmyadmin。 最佳答案 编辑 /etc/phpmyadmin/apache.c
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我创建了具有两列(id、name)的数据库(产品)表项目,并且我向该列添加了值,然后显示此错误 Warning in .\libraries\DisplayResults.php#869 A non
我想将 SELECT 查询的结果导出为有效的 SQL INSERTS,并将其导入到另一个数据库中(某些记录被意外删除)。通常我会使用 PHPMyAdmin 的导出功能,但 PHPMyAdmin 在其中
当我尝试从 phpMyAdmin 导出数据库时出现错误。 请引用下面的截图。 我不知道这个问题是怎么发生的。 最佳答案 我遇到了同样的问题,我通过增加 php.ini 中 'max_input_var
无法访问 phpMyAdmin。我的 wampserver 版本是 2.2,使用 Windows 7。 localhost/phpmyadmin/ 当我打开它。 Internet Explorer 打
在我的工作中,我有 phpmyadmin 要使用的 SQL 数据库(本地和服务器上) 烦人的问题是,当我修改本地数据库结构(列、关系、新表)时,我不得不在服务器数据库上再次重做修改,因为当我备份本地数
我不喜欢 phpMyAdmin 中新的 AJAX 风格的导航树,我想将其更改为旧的。是否有一些我可以更改的配置指令? 旧版本:3.3.7 新版本:4.0.4 两者中的原始主题。 最佳答案 没有配置指令
我正在尝试更改 phpmyadmin 中的日期格式。我无法更改格式 我想将格式更改为 dd-mmm-yyyy。如何更改日期格式。请帮我解决它.. 最佳答案 您可以使用 phpMyAdmin 的 bro
我想在 PhpMyAdmin 中为包含此文本的所有字段更改文本“pelecard”。表名是 sales_flat_order_payment。我怎么能做到这一点? 谢谢你 最佳答案 SQL 是什么?
在远程 ubuntu 18 服务器上,当从其中一个表中打开 phpmyadmin 中的数据时,它会显示警告和弹出窗口(如 https://imgur.com/a/b5HGGV0 ),这是非常缺乏的..
默认情况下,phpMyAdmin 中的“主题”选项仅影响主题设置更改的浏览器的主题(可能存储在 cookie 中?)。如何将特定主题设置为所有用户的默认主题? 最佳答案 可以从 phpMyAdmin
我的表有全文列。如何设置列的默认宽度?我知道它在 index.php 页面顶部有完整/部分文本按钮...如何永久设置该值? 谢谢! 最佳答案 有一个名为 LimitChars 的配置值:http://
我是 mysql 的新手,所以我正在使用 phpmyadmin 在数据库中创建表。我有枚举类型的字段制造商,可能的值为“manufacturer1”,“manufacturer2”,... 我选择了
有谁知道是否或如何增加phpMyAdmin 中的导入大小限制?目前我的服务器限制为 50MB。 请注意,这与 php.ini 中的 upload_max_filesize 不同。该值设置为 2MB。
我是一名优秀的程序员,十分优秀!