@khomaldi
разбираюсь потихоньку

Почему не срабатывает insert into через php?

Здравствуйте. Пытаюсь записать данные в базу через php, но запись не добавляется. Подскажите, пожалуйста, в чём ошибка.
Форма html:
<form method="POST" action="<?=$_SERVER['REQUEST_URI']?>">
    <input name="title" type="text" placeholder="Заголовок"/>
    <input name="intro" type="text" placeholder="Краткое описание"/>
    <input name="full" type="text" placeholder="Полный текст"/>
    <input type="submit" value="Отправить"/>
</form>


PHP
if (isset($_POST['title']) && isset($_POST['intro']) && isset($_POST['full']))
{
    // Переменные с формы
    $title = $_POST['title'];
    $intro = $_POST['intro'];
    $full = $_POST['full'];

    // Параметры для подключения
    $db_host = "localhost";
    $db_user = "login"; // Логин БД
    $db_password = "password"; // Пароль БД
    $db_table = "articles"; // Имя Таблицы БД

    // Подключение к базе данных
    $mysqli = new mysqli("localhost", "login", "password", "articles");

    $query = "INSERT INTO articles (title, intro, full) VALUES ('$title','$intro', '$full')";

    $mysqli->query($query);
}


РЕШЕНИЕ:
Ошибка была в $db_table = "articles"; и в
$mysqli = new mysqli("localhost", "login", "password", "articles");


Нужно вместо articles (это имя таблицы) написать имя базы данных. (например, user32234. обычно совпадает с логином). А имя таблицы указывается в запросе "INSERT INTO articles
  • Вопрос задан
  • 481 просмотр
Решения вопроса 1
AlekseyNemiro
@AlekseyNemiro
full-stack developer
$db_table = "articles"; // Имя Таблицы БД

Нет, не имя таблицы, а имя базы данных ($dbname).

if (!$mysqli->query($query)) {
    printf("Errormessage: %s\n", $mysqli->error);
}

См. также: SQL Injection
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
php10
@php10
Разработчик на PHP
1. Начните с проверки подключения
2. Не пишите в таком стиле. Используйте prepared statement и PDO
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы