已编辑...
大家好,有人可以帮助我访问我的网站
我只想在评论区域中获得特定评论,就像在Facebook中一样
<?php
require 'db.php';
$sql = 'SELECT * FROM comment WHERE postID = postID';
$statement = $connection->prepare($sql);
$statement->execute();
$comment = $statement->fetch(PDO::FETCH_OBJ);
?>
我的意思是,如果我在第一篇文章中发表评论,它只会获取当前评论,而不会在另一篇文章中显示。
答案 0 :(得分:2)
我相信答案会像这样:
<?php
require 'db.php';
$postId = 1; // get it somewhere, probably from $_GET
$sql = 'SELECT * FROM comment WHERE postID = ?';
$statement = $connection->prepare($sql);
$statement->execute( [$postId]);
$comment = $statement->fetch(PDO::FETCH_OBJ);
?>
说明,从注释复制到原始问题:
您的SQL条件postID = postID从字面上说明任何注释。您需要在此处传递实际的帖子ID。
答案 1 :(得分:2)
这是您的查询当前正在做的事情:
从表注释中获取记录,其中字段postID = postId
这当然是行不通的,您使用的是字符串(不带引号)作为值。您需要绑定参数并传递值,例如
$sql = 'SELECT * FROM `my_table` WHERE `some_field` = :myVal;';
$res = $conn->prepare($sql);
$res->execute([':myVal' => $_GET['id']]);
$data = $res->fetchAll(PDO::FETCH_ASSOC);
在这里,我将bind参数(:myVal
)传递给bind,然后准备该语句。然后,您传递:myVal
的值(在这种情况下,是查询参数$_GET
的{{1}})。
然后获取id
/ var_dump
,您应该在脚本中看到表数据。