0

Хочу добавить данные в таблицу, с помощью формы. Соединение с базой есть, но при добавление выдает ошибку добавления, в чем ошибся?

 <?php include_once("header.php");?>
<?php include_once("menu.php");?>
   <div id="content">
    <h2>Главная</h2>

форма добавления данных </p> <form method="POST"> <input required name="prepoduser" type="text" placeholder="Иванов"></p> <p> <input value="Добавить" type="submit"></p> </form> </p>

<?php if (isset($_POST["prepoduser"])) {

$conn = new data();
if($conn-&gt;connect_error){
    die(&quot;Ошибка: &quot; . $conn-&gt;connect_error);
}  
else {
    echo(&quot;Успешное соединение!&quot;);       
}
    $sql = $conn-&gt;prepare(&quot;INSERT INTO 
            zanyatie (prepod) 
            VALUES (:prepod)&quot;);

    $data = array( 'prepod' =&gt; $_POST[&quot;prepoduser&quot;],
    );

if ( $sql-&gt;execute($data) ) {
    echo(&quot;Информация успешно занесена в базу данных!&quot;);
    }
else {
    echo(&quot;Неизвестная ошибка добавления в базу данных!&quot;);
    }
}

?>

</div> <?php include_once("footer.php");?>

Ruslan
  • 1
  • 1
    Добавьте в вопрос текст ошибки. – Глеб Feb 22 '24 at 04:11
  • @Глеб так сложно прочитать его в коде? :) – Ипатьев Feb 22 '24 at 04:50
  • Главных ошибок две: неправильное соединение с PDO в классе data и нелепые сообщения, которые выводит этот код. Никаких "успешно занесена" и "неведомая ошибка" этот код выводить не должен. А должен делать перенаправление на другую страницу (и поэтому он должен быть на самом верху страницы). И тогда в случае успеха будет перенаправление, а в случае ошибки будет выведен либо текст ошибки (в режиме разработки) либо просто 500 статус ответа (в боевом режиме) - но все это будет работать само по себе, никакой код для этого писать здесь не нужно. – Ипатьев Feb 22 '24 at 05:09

0 Answers0