这种使用方法GET的方式是不是错了?

Is this way of using the method GET wrong?

有些事情我一直在努力,但我 运行 遇到了一个我只能这样做

才能解决的问题
header("Location:messages.php?ID_Conversation=$row[ID]");

这是"wrong"吗?

这一点并没有错。您正在重定向到资源并将信息作为 URL 的一部分传递给该资源,这是完全可以接受的。

但是,错误的部分是 URL 的结构方式。如果您打算定期执行此操作,则需要养成尽可能精确地设置位置的习惯。

至少这就是说你应该设置相对于域根的完整路径:

header("Location:/any_directories/messages.php?ID_Conversation=$row[ID]");

充其量,这意味着还包括域和协议:

header("Location:https://yourdomain.com/any_directories/messages.php?ID_Conversation=$row[ID]");

为了简化这一点,创建一个辅助函数或对象来处理这种重定向。

function redirect($url) {
    header("Location:https://yourdomain.com/$url");
}

redirect("any_directories/messages.php?ID_Conversation=$row[ID]");

显然在上面的函数中还有其他的考虑,可能将 GET 查询的数据作为数组传递,发现域 and/or 协议等,不应该像写的那样使用,但是这个想法是正确的。