


Ошибка с запросом PHP
Parse error: syntax error, unexpected 'New' (T_NEW) in E:\Programs\XAMPP\htdocs\dashboard\push.php on line 19
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "db_task1";
if ( isset($_POST['myPush'] )) {
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$title = $_GET(['title']);
$about = $_GET(['about']);
$workTitle = trim($title);
$workAbout = trim($about);
$sql = "INSERT INTO article (title, about)
[!] VALUES ".$workTitle.", ".$workAbout." ";
// use exec() because no results are returned
$conn->exec($sql);
echo "New record created successfully";
}
catch(PDOException $e) {
echo $sql . "
" . $e->getMessage();
}
$conn = null;
}
?>
1. Ты уж разберись, $_POST у тебя или $_GET.
2. Напахал с синтаксисом SQL-запроса: перечисление значений после VALUES должно быть в круглых скобках.
3. НЕ НАДО впихивать значения в текст SQL-запроса - это любимая хакерами дыра в безопасности: https://www.php.net/manual/ru/security.database.sql-injection.php
4. А сообщение об ошибке означает, что где-то ВЫШЕ 19-й строки есть ошибка в PHP-коде.
Нормальный запрос выглядит так:
$sql = $conn->prepare('INSERT INTO article (title, about) VALUES (:title, :about)');
$sql->execute(['title' => trim($_POST['title']), 'about' => trim($_POST['about'])]);
Спасибо за все файлы с кодом (нет)