This question already has answers here:
mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc… expects parameter 1 to be resource or result
                                
                                    (32个答案)
                                
                        
                                6年前关闭。
            
                    
在任何人发表评论之前,我正在学习PHP / MySQL,所以我知道我的代码需要进行sql注入,一旦我构建了系统,下一步就是一次学习安全性,现在一步一步...现在解决我的问题

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

这是工作代码。

$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'";

最佳答案

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

另外,我建议不宜早读mysqli和注入预防,最好是在我看来是第一次学习。

关于php - 困惑为什么同一个Join不能在下一页进一步工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17640011/

10-11 03:15