Вставка в базу данных проблемы pdo

1

Я не уверен, что это связано с тем, что я действительно устал или что-то еще; Я не могу понять, почему я не могу вставить в мою базу данных с этим кодом.

<?php
require 'mysqlcon.php';
?>

<?php


if(isset($_POST["submit"])){
try {
$dbh = new PDO("mysql:host=$hostname;dbname=CSY2028",$username,$password);

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line
$sql = "INSERT INTO bookings (name, email)
VALUES ('".$_POST["name"]."','".$_POST["email"]."')";
if ($dbh->query($sql)) {
header("location: index.php");
echo "<script type= 'text/javascript'>alert('New Record Inserted Successfully');</script>";

}
else{
echo "<script type= 'text/javascript'>alert('Data not successfully Inserted.');</script>";
}

$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}

}
?>

У меня есть следующая таблица, которую я проверил, что идентификаторы, имена все одинаковы и соответствуют. Это просто ничего не вставляет?

<?php
require 'mysqlcon.php';
?>

        <!-- Main -->
            <section id="main" class="wrapper">
                <div class="container">
    <section>
                            <h3>Book Novelty Vehicle</h3>
                            <form action="bookingsql.php" method="post">
                                <div class="row uniform 50%">
                                    <div class="6u 12u$(xsmall)">
                                        <input type="text" name="name" id="name" value="name" placeholder="Name" />
                                    </div>
                                    <div class="6u$ 12u$(xsmall)">
                                        <input type="email" name="email" id="email" value="email" placeholder="Email" />
                                    </div>
                                    <div class="6u 12u$(xsmall)">
                                        <input type="text" name="address" id="address" value="" placeholder="Address" />
                                    </div>
                                    <div class="6u$ 12u$(xsmall)">
                                        <input type="text" name="pup" id="pup" value="" placeholder="Pick up point" />
                                    </div>                                  
                                    <div class="6u 12u$(xsmall)">
                                        <input type="text" name="phone" id="phone" value="" placeholder="Phone Number" />
                                    </div>

                                    <div class="6u$ 12u$(xsmall)">
                                    <input type="text" name="event" id="event" value="" placeholder="Event Type" />
                                    </div>

                                    <div class="12u$">
                                        <div class="select-wrapper">
                                            <select name="category" id="category">
                                                <option value="">- Novelty Vehicle Option -</option>
                                                <option value="1">One</option>
                                                <option value="1">Two</option>
                                                <option value="1">Three</option>
                                                <option value="1">Four</option>
                                            </select>
                                        </div>
                                    </div>
                                    <div class="6u$ 12u$(small)">
                                        <input type="checkbox" id="human" name="human">
                                        <label for="human">You are aware this is for booking novelty vehicles only?</label>
                                    </div>
                                    <div class="12u$">
                                        <textarea name="info" id="info" placeholder="Please give us any additional information, this will help us speed up your booking process." rows="6"></textarea>
                                    </div>
                                    <div class="12u$">
                                        <ul class="actions">
                                            <li><input type="submit" value="Book Vehicle" class="special" /></li>
                                            <li><input type="reset" value="Reset" /></li>
                                        </ul>
                                    </div>
                                </div>
                            </form>
                        </section>

                </div>
            </section>
  • 1
    Трудно сказать, срабатывает ли это вообще, if(isset($_POST["submit"])){...} так как вы отключили свою форму после ввода / вывода по электронной почте. Мое предположение; он не запускается из-за отсутствия имени и / или отсутствующего </form> . Кто знает, только ты.
  • 1
    «У меня есть следующая таблица, я проверил, что идентификаторы, имена одинаковы и совпадают». - Использование атрибута id подразумевает javascript / jquery / ajax. Если вы используете что-то из этого и не включили его, то это еще одна догадка. Если нет, то вам не нужен id , если вы не используете те с CSS.
Показать ещё 7 комментариев
Теги:
pdo

1 ответ

4
Лучший ответ

Без названия

<input type="submit" value="Book Vehicle" class="special" />

и ничего внутри if(isset($_POST["submit"])){...} будет когда-либо срабатывать.

Ну действуй:

<input name="submit" type="submit" value="Book Vehicle" class="special" />

Кроме того, поскольку вы используете PDO, используйте подготовленный оператор. Вы открыты для SQL-инъекции.

Рекомендации:

  • 1
    Смотрите (мои) дополнительные комментарии под вопросом ОП. Больше развилось после того, как я опубликовал этот ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню