Member 14282409 Ответов: 1

Почему я не могу вставить данные в свою БД с помощью этого кода PHP, helpppp


I've tried several codes I've seen on the internet, and I can not get to my goal, my goal is with a form with 3 dropdowns and 2 input insert data into an sql table


Что я уже пробовал:

connect_errno == 0){
if(isset($_POST['submit'])){

$instic = $conn->query("INSERT INTO tickets(problema, eletrecidade, agua, assunto, info) VALUES('" . $_POST["prob"] . "', '" . $_POST["elet"] . "','" . $_POST["agua"] . "','" . $_POST["ass"] . "','" . $_POST["info"] . "')");
$instic->bind_param("sssss", $_POST["prob"], $_POST["elet"], $_POST["agua"], $_POST["ass"], $_POST["info"]);
$instic->execute();
}
}
$ligacao->close();
?>

<form method="POST" action="inserir.php" enctype="multipart/form-data">
                    <fieldset>
                        <!-- Escolher problema geral -->
                        <label>Problema Geral</label>
                        <select name="prob">
                        <option disabled selected hidden>Escolha uma opção...</option>
                            <option name="luz" value="Luz">Luz</option>
                            <option name="agua" value="Agua">Agua</option>
                            <option name="ele" value="Elevador">Elevador</option>

                        </select>

                   <!-- Escolher problemas eletrecidade -->
                   <label>Eletrecidade</label>
                   <select name="elet" id="elet">
                   <option disabled selected hidden>Escolha uma opção...</option>
                   <option name="semluz" value="Nao ha luz">Não há luz</option>
                   <option name="curto" value="Curto Circuito">Curto circuito</option>

                        </select>


                       <!-- Escolher problemas agua -->
                       <label>Agua</label>
                       <select name="agua" id="agua">
                       <option disabled selected hidden>Escolha uma opção...</option>
                       <option name="semagua" value="Nao ha agua">Não há água</option>
                       <option name="inund" value="Inundacao">Inundação</option>
</select>
           <label for="assunto">Assunto:</label>
           <input type="text" name="ass" id="ass" maxlength=100 placeholder="Assunto">
           </fieldset>
           <fieldset>
           <label for="info">Info:</label>
           <textarea type="text" name="info" id="info" maxlength=50 placeholder="Descrição detalhada"></textarea>
                    </fieldset>
                    <div>
                    <input type="reset" value="Limpar">
                    <input type="submit" value="Submeter">
                    </div>
                    </form>

1 Ответов

Рейтинг:
7

Patrice T

Цитата:
Почему я не могу вставить данные в свою БД с помощью этого кода PHP

Вы получаете сообщение об ошибке ? Где вы открываете сеанс работы с SQL server ?

$instic = $conn->query("INSERT INTO tickets(problema, eletrecidade, agua, assunto, info) VALUES('" . $_POST["prob"] . "', '" . $_POST["elet"] . "','" . $_POST["agua"] . "','" . $_POST["ass"] . "','" . $_POST["info"] . "')");

Не обязательно решение вашего вопроса, но у вас есть еще одна проблема.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? - Обмен Стеками Информационной Безопасности[^]