Есть 2 запроса, один вставляет добавляет комментарий к записям, другой выводит их, каждой записи свои комменты
Запрос добавления коммента:
$sql = 'INSERT INTO comments(name, comment, post_id) VALUES (:name, :comment, :post_id)';
$sqlParams = [':name' => $_POST['name'], ':comment' => $_POST['comment'], ':post_id' => $_GET['id']];
Ну и вывод:
$sql = 'SELECT * FROM comments WHERE post_id = :id';
$sqlParams = [':id' => $_GET['id']];
Проблема в том, что у меня не получается в первом запросе, в :post_id присвоить значение $_GET['id']. Сделал var_dump($_GET['id']) получил стринг, а post_id в таблице int, сделал жесткое преобразование ':post_id' => (int)$_GET['id'], в итоге вместо ожидаемого параметра $_GET['id'] допустим 500, я все время получаю 0
Вы пытаетесь в POST запросе получить GET переменную. Так делать не стоит. Запрос надо делать либо POST, либо GET.
Замените $_GET на $_POST переменную.
Скорее всего у вас есть некая форма или AJAX скрипт на js (JQuery), который отправляет данные:
':name' => $_POST['name'], ':comment' => $_POST['comment']
Добавьте к ним ещё и id полученный из $_GET['id'], тогда вы спокойно будете использовать строку:
$sqlParams = [':name' => $_POST['name'], ':comment' => $_POST['comment'], ':post_id' => $_POST['id']];
Сделать это можно либо добавив в форму
<input type="hidden" name="id" value="<?php echo $_GET['id'] ?>" >
Либо в data $.ajax получив предварительно значение из URL.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Опишу подробнее - делаю галерею с загрузкой нескольких изображений на Laravel - у меня в таблице с товарами есть поле - file, в котором я записываю...
Ребят, я сразу признаюсь я чайник, я верстальщик, хочу разобраться как мне сделать загрузку php файлов локально, я делаю корпоративный сайт,...
На php разрабатываю более 7 летГотовые фреймворки никогда не использовал, за исключением отдельных компонентов (или библиотек monolog, guzzlehttp и т
Столкнулся с проблемой: на Windows 10, не срабатывает max_execution_time для PHP CLI (любых версий, но на данный момент работаю с 56)