Невозможно вставить данные в базу данных mysql

  • Я использую AWS EC2
  • Правила для входящих подключений моих групп безопасности:

Невозможно вставить данные в базу данных mysql

Пользовательские таблицы Mysql:

mysql> select user,host from mysql.user;

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| debian-sys-maint | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
  • Я могу получить доступ к базе данных с помощью SELECT и могу печатать на php интернет страницы.
  • Проблема заключается в запросе INSERT.

Код:

$queryb = "INSERT INTO contact_us (name,contact,email,message) 
           VALUES ('$_POST[contact_person]', 
                   '$_POST[mobile]',
                   '$_POST[email]',
                   '$_POST[messages]')";
if (mysql_query($queryb))
{
    $success='Thank You ';
}
else
{
    $error='Error Occured ! Try after sometime';
}

Требуется предложение !!!

Добавьте свой код, чтобы мы могли видеть, что происходит.

Nigel Ren 14.06.2018 13:34

Требуется код, чтобы дать предложение.

u_mulder 14.06.2018 13:34

Разрешено ли пользователю, с которым вы вошли в систему, выполнять команды вставки?

Lajos Arpad 14.06.2018 13:39

Как вы определили, что система «не умеет» что-то делать? Почему бы вам не проверить коды ошибок? Скорее всего, mysql_query устарел

Nico Haase 14.06.2018 13:44

@LajosArpad Да

helpdoc 14.06.2018 13:50

@NicoHaase Потому что он отлично работает на другом сервере, таком как godaddy и локальный сервер

helpdoc 14.06.2018 13:51

Если приведенный выше код работает на других хостах, вероятно, вы используете php 7+. Получите Ошибки PHP для отображения и отойдите от этого ужасного метода

IsThisJavascript 14.06.2018 13:53

я использую php 5.6 @IsThisJavascript

helpdoc 14.06.2018 14:06

И почему бы вам не проверить коды ошибок, если вы предполагаете, что возникает ошибка en?

Nico Haase 14.06.2018 14:46
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
9
133
1

Ответы 1

Вам нужно будет проверить ошибку, которую вы получаете при попытке выполнить этот оператор. Посмотрим на проблемы и возможные проблемы:

Права

Вам нужно будет убедиться, что у пользователя MySQL, с которым вы пытаетесь выполнить запрос, есть для этого необходимые права. Попробуйте жестко запрограммировать оператор insert вместе со всеми параметрами. Сможете ли вы это сделать? Или вы получаете сообщение об ошибке, что у вас нет на это прав?

Устаревание

mysql_ функции устарели. Вам нужно будет использовать либо функции mysqli_, либо PDO.

SQL-инъекция

Ваш код имеет высокие риски безопасности из-за возможности SQL-инъекция. Вам нужно будет экранировать свой запрос через mysqli_real_escape_string или параметризовать свой запрос через PDO. Если вы этого не сделаете, пользователи смогут повредить вашу базу данных, если захотят взломать ваш сайт или даже украсть данные.

XSS-инъекция

Ваш код имеет высокие риски безопасности из-за возможности XSS-инъекция. Вам нужно будет убедиться, что в ваши поля не будут вводиться скрипты, если вы явно не хотите этого разрешить. XSS-инъекция - это возможное средство кражи данных у других пользователей.

Это сообщение или сообщения

Проверьте, что находится внутри вашего $_POST["messages"]. Это массив? Если это так, вы пытаетесь использовать массив как строку и, следовательно, получаете исключение.

Проверьте свои журналы

Вам нужно будет проверить журналы сервера, чтобы найти точную проблему, с которой вы столкнулись. Если ведение журнала сервера не включено, вам нужно будет включить его и снова запустить код PHP.

Другие вопросы по теме