Моя цель - создать форум с возможностью создания топи c с полями, запрошенными PHP, с подробностями, именем, электронной почтой и датой и временем. Create_topi c. php - это файл, содержащий базовый c макет формы. Данные в этих полях захватываются в POST после нажатия кнопки submit.
После нажатия кнопки submit действие = "add_topi c. php" (код ниже). Файл, который будет обрабатывать данные, которые я пытаюсь вставить. внизу скрипта есть гиперссылка, которая ведет к месту, где будет находиться topi c. Я не дошел до фактической части отображения, поскольку в БД нет данных для отображения. Только в POST, который является временным.
В чем проблема
При выполнении кода ошибки в Postgres журнале ошибок или в коде VS не отображаются. Пытаюсь вставить данные в PostgreSQL. Таблица остается пустой.
Что я пробовал
Я пробовал изменить значения заполнителей с ":" на "$" на "?" и ни один из них, похоже, не помогает. Я убедился, что существует реальное соединение, вызвав целенаправленные сбои в коде. Журнал PG SQL сообщает мне, когда предоставлено недостаточно параметров или когда я пытаюсь вставить данные в таблицу, которая не существует. Так что ... связь есть .... Я думаю. Я могу просто вставить данные с терминала (у меня также есть другой код на моей домашней странице, который работает. Я использую этот код, потому что он включает ввод и извлечение из PostgreSQL). Нет ошибок в VS CODE OR LOG, когда код исполняется иначе. Спасибо за вашу помощь amigos. В лучшем случае новичок. Просто пытаюсь перейти к следующему вызову. Да пребудет с вами сила
<?php
$tbl_name='forum_question';
require('forum_config.php');
try{
$db = new PDO("pgsql:dbname=$dbname;host=$dbhost", $dbuser, $dbpass) or die();
}catch(PDOException $e)
{
if(!$db){
print'no luck';
echo 'no luck';
}
echo-$e->getMessage();
}
$topic = $_POST['topic'];
$detail = $_POST['detail'];
$name = $_POST['name'];
$email = $_POST['email'];
$datetime=date("d/m/y h:i:s");
$inputdata = array ($topic, $detail, $name, $email, $datetime);
$query = $db->prepare('INSERT INTO forum_question(topic, detail, _name, email, _datetime) VALUES (:topic, :detail, :_name, :email, :_datetime)');
$query->bindParam(":topic",$topic);
$query->bindParam(":detail",$detail);
$query->bindParam(":_name",$name);
$query->bindParam(":email",$email);
$query->bindParam(":_datetime",$datetime);
$query->execute(array ($topic, $detail, $name, $email, $datetime));
$result = $query->fetchAll(PDO::FETCH_OBJ);
if($query){
echo "successful connection to DB $dbname<BR><br>";
echo "Below we have proof that POST data has been captured.
<br> The goal is to store in the TABLE $tbl_name which is inside the DATABASE $dbname.
<br> The captured data shall be displayed in desired forum.";
echo "<br>";
echo "<br>";
echo $result;
$query = $db->prepare("SELECT * from forum_question");
$query->execute();
$query->fetchAll(PDO::FETCH_OBJ);
echo "<br>";
echo "<br>";
echo $inputdata;
echo "<br>";
echo "<br>";
echo "<br>";
echo "topic: $topic";
echo "<br>";
echo "<br>";
echo "detail: $detail";
echo "<br>";
echo "<br>";
echo "name: $name";
echo "<br>";
echo "<br>";
echo "email: $email";
echo "<br>";
echo "<br>";
echo "<a href=main_forum_life.php>View your topic</a>";
echo "<br>";
echo"<br>";
}
else {
echo "<a href='error.php'>No biggie. Let us regroup.</a>";
die();
}
?>
/* Below is the SQL for the table that I am trying to insert $topic, $detail, $name, $email and $datetime into. */
СОЗДАТЬ ТАБЛИЦУ forum_question (
forum_question_uid SERIAL UNIQUE PRIMARY KEY,
topic VARCHAR(255) NOT NULL,
detail TEXT NOT NULL,
_name VARCHAR(65) NOT NULL,
email VARCHAR(65) NOT NULL,
_datetime VARCHAR(25) NOT NULL,
_view SERIAL,
reply SERIAL
);