У меня проблема с моим примером проекта - PullRequest
0 голосов
/ 22 июня 2019

изм ...

Привет, ребята, кто-нибудь может мне помочь с моим сайтом

Я просто хочу получить конкретный комментарий в области комментариев, как в Facebook

<?php 
require 'db.php';
$sql = 'SELECT * FROM comment WHERE postID = postID';
$statement = $connection->prepare($sql);
$statement->execute();
$comment = $statement->fetch(PDO::FETCH_OBJ);
?>

Я имею в виду, что если я прокомментирую первый пост, он просто получит текущий комментарий и не будет отображаться в другом посте.

Ответы [ 2 ]

2 голосов
/ 22 июня 2019

Вот что в данный момент делает ваш запрос:

получить записи из комментария к таблице, где поле 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);

Здесь я передаю привязку параметр (:myVal) и затем готовлю это утверждение.Затем вы передаете значение для :myVal (в данном случае $_GET параметра запроса id).

Затем извлекаете var_dump / print_r, и вы должны увидетьданные таблицы в вашем скрипте.

2 голосов
/ 22 июня 2019

Я полагаю, что ответ будет выглядеть следующим образом:

<?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 буквально произносит любой комментарий.Вы должны передать фактический идентификатор сообщения там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...