我正在使用PHP和MySQL开发论坛。我陷入了一个以前从未想过的问题。当我调用编辑论坛帖子的方法时会出现问题。
我有一个对象类来处理帖子的行为。我也试图使论坛SEO友好,因此我使用唯一的URL来识别帖子作为实验。如果我有安全漏洞,请善意指出它们(谢谢!)。
我只会复制代码所需的部分。
这是我调用方法的地方
$url = $_GET['url'];
$posts->editForumPost($heading, $desc, $catetgory, $username, $tags, $url);
并确保它不是一个数组i print_r($url)
,它给了我在地址中发送的正确网址。当我print_r
一个数组时,我很熟悉,它说它是一个数组并给出了索引及其值。在这种情况下它不像那样。
所以在editForumPost()函数中我调用了另一个这样的函数
$post = $this->getPostDetails($url);
请注意,我正在使用相同的功能来获取帖子的值以将其打印以显示给用户。而且我没有问题,但是当我在editForumPost()函数中调用函数时,我得到了一个
用blah blah
进行字符串转换的数组
我无法想出发生这种情况的原因。所以我再次将我的函数更改为在post_ids而不是url中运行,出于某种原因发生同样的问题。
如果有人请求,我会发布函数的完整代码并调用地方。
编辑:
public function getPostDetails($url)
{
$query = $this->db->prepare("SELECT `heading`,`post_id`,`category`, `description`, `username`, `category`,`post_time` FROM `forum` WHERE `friendly_url` = ? LIMIT 1");
$query->bindValue(1,$url);
try
{
$query->execute();
}
catch(PDOException $e)
{
die($e->getMessage());
}
return $query->fetch();
}