Я создал свой database.db и создал таблицу следующим образом:
<?php
class MyDB extends SQLite3
{
function __construct()
{
$this->open('database.db');
}
}
$db = new MyDB();
if (!$db) {
echo $db->lastErrorMsg();
} else {
echo "Opened database successfully\n";
}
$sql = <<<EOF
CREATE TABLE EVENTS
(ID INTEGER PRIMARY KEY AUTO_INCREMENT,
TITLE char(50) NOT NULL,
DATE CHAR(50) NOT NULL,
LOCATION CHAR(50),
DESCRIPTION CHAR(50));
EOF;
$ret = $db->exec($sql);
if (!$ret) {
echo $db->lastErrorMsg();
} else {
echo "Table created successfully\n";
}
$db->close()
Мой запрос на получение:
exploreButton.addEventListener("click", () => {
sectionArticles.style.display = "flex";
window.scroll({
top: window.innerHeight,
left: 0,
behavior: "smooth"
});
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = () => {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
alert(xmlttp.responseText);
}
};
xmlhttp.open("GET", "server/get.php", true);
xmlhttp.send();
});
Мой запрос POST:
publishButton.addEventListener("click", evt => {
evt.preventDefault();
let formData = new FormData();
formData.append("title", document.querySelector("#title").value);
formData.append("date", document.querySelector("#date").value);
formData.append("location", document.querySelector("#location").value);
formData.append("type", document.querySelector("#type").value);
formData.append("description", document.querySelector("#description").value);
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
alert(xmlHttp.responseText);
}
};
xmlHttp.open("POST", "server/publish-articlesql.php");
xmlHttp.send(formData);
});
Вот так выглядит страница сервера / публикации sh sql. php:
<?php
class MyDB extends SQLite3
{
function __construct()
{
$this->open('database.db');
}
}
$db = new MyDB();
if (!$db) {
echo $db->lastErrorMsg();
} else {
echo "Opened database successfully\n";
}
$title = $_POST["title"];
$date = $_POST["date"];
$location = $_POST["location"];
$type = $_POST["type"];
$description = $_POST["description"];
$sql = <<<EOF
INSERT INTO EVENTS (TITLE,DATE,LOCATION,DESCRIPTION)
VALUES ({$title}, {$date}, {$location}, {$description} );
EOF;
$ret = $db->exec($sql);
if (!$ret) {
echo $db->lastErrorMsg();
} else {
echo "Records created successfully\n";
}
$db->close();
Для кого-то, кто опытен, что я делаю не так? Как правильно обрабатывать запросы POST / GET в моей ситуации? Всякий раз, когда я делаю эти запросы, я получаю 500: Внутренняя ошибка сервера. Код javascript прекрасно работал с MySQL, но, поскольку мне пришлось перейти на SQLite, я не знаю, как адаптировать к нему свой код JS. Может кто-нибудь объяснить мне, как, пожалуйста? Большое спасибо.