0

在任何人发表评论之前,我正在学习 PHP/MySQL,所以我知道我的代码会受到 sql 注入的影响,一旦我构建了我的系统,我的下一步就是学习安全性,一次 1 步......现在我的问题

我有一个基本页面,允许人们像论坛一样发帖,我将所有内容都正确发布到数据库中,当我查看主题页面本身时,我成功地加入了带有主题的用户表以获取用户信息(用户名,头像),但是当我尝试将主题更改为帖子的相同代码时,我收到一个警告:mysql_fetch_array() 期望参数 1 是资源,第 36 行错误中 view_topic.php 中给出的布尔值。

这是工作代码..

$id = $_GET['topic_id'];
$sql =  "SELECT users.user_id, users.username, users.profile, topics.topic_id, topics.category, topics.sub_category, topics.topic_data, 
           topics.posted_by, topics.posted, topics.view
    FROM `topics` 
    JOIN `users` on topics.posted_by = users.user_id WHERE topic_id='$id'";

这是我的帖子代码不起作用

$sql2 = "SELECT users.user_id, users.username, users.profile, post_id, post_content, post_date, post_topic, post_by 
    FROM `posts`
    JOIN `users` on posts.posted_by = users.user_id WHERE post_topic='$id'";
4

1 回答 1

0

仔细检查您的字段名称,“post_by”似乎是该字段,但您已加入“posted_by”。

另外,我建议尽早阅读有关 mysqli 和注射预防的内容,最好在我看来第一次就正确学习。

于 2013-07-14T14:53:32.463 回答