2015-04-27 3 views
-1

Я не могу хранить новые данные в базе данных после того, как пользователь отправил форму. Я проверяю таблицу базы данных через phpMyAdmin, но я не вижу никаких новых данных. Может ли кто-нибудь показать мне ошибку в моем коде.невозможно вставить новые данные в базу данных через php

HTML код (listing.html):

<html> 
    <form action="confirm_listing.php" method="POST"> 
     <input name="Firstname" placeholder="Firstname"> 
     <input name="Lastname" placeholder="Lastname"> 
     ... 
     <input type="submit" value="Submit"> 
    </form> 
</html> 

PHP код (confirm_listing.php):

<?php 
    $firstname = $_POST['Firstname']; 
    $lastname = $_POST['Lastname']; 
    $address = $_POST['Address']; 
    $suburb = $_POST['Suburb']; 
    $city = $_POST['City']; 
    $type = $_POST['Type']; 
    $room = $_POST['Room']; 
    $floorArea = $_POST['Floor']; 
    $landArea = $_POST['Land']; 
    $price = $_POST['Price']; 
    $contact = $_POST['Contact']; 
    $active = "1"; 

    $server = "localhost"; 
    $dbusername = "root"; 
    $dbpassword = ""; 
    $dbname = "summitrealestatedb"; 

    $connection = mysqli_connect($server, $dbusername, $dbpassword, $dbname); 

    if (!$connection) { 
     die("Connection failed: " . mysqli_connect_error()); 
    } 

    $sql = "INSERT INTO property (firstname, lastname, address, suburb, city, type, room, floor, land, price, contact, active) VALUES ('$firstname', '$lastname', '$address', '$suburb', '$city', '$type', '$room', '$floorArea', '$landArea', '$price', '$contact', '$active');"; 
    mysqli_query($connection, $sql); 

    mysqli_close($connection); 
?> 

Вот a picture того, что в настоящее время он выглядит в базе данных Таблица.

+0

Вам нужно защитить от инъекций SQL и использовать 'mysqli_error()'. – Devon

+0

Какая ошибка вы получаете? –

+0

@Devon Да Девон благодарит за это, я воспользуюсь тем, как только я получу его, чтобы хранить любые данные вообще. – smuhero

ответ

1

Попробуйте распечатать ошибку вставки

mysqli_query($connection, $sql) or die(mysqli_error($connection)); 
+0

Gojinetchi Это отличный способ отладить это, я получил ошибку, следуя «Champ» type «inconnu dans field list» – smuhero

+0

@smuhero Это потому, что в вашей таблице нет поля 'type'. – jeroen

+0

Большое вам спасибо. Я действительно узнал об этом, и слишком поздно. – smuhero

0

В вашем запросе есть ошибка. Это правильный способ записи запроса на вставку.

$sql = "INSERT INTO property (firstname, lastname, address, suburb, city, type, room, floor, land, price, contact, active) VALUES ('" . $firstname . "', '" . $lastname. "', '" . $address . "', '" . $suburb . "', '" . $city . "', '" . $type ."', '" . $room . "', '" . $floorArea ."', '" . $landArea . "', '" . $price . "', '" . $contact . "', '" . $active');" 
1

вместо

<?php 
    $firstname = $_POST['Firstname']; 
    $lastname = $_POST['Lastname']; 
?> 

использование

<?php 
    $firstname = $_POST['firstname']; 
    $lastname = $_POST['lastname']; 
?> 


использовать имя, которое вы назначили на имя не заполнителем

+0

Похоже, что у того же кода, что и у OP, уже есть ?! – Rizier123

+0

@Akshay Vasu извините, Akshay, что правильно, я ошибался. – smuhero

+0

@smuhero thats ok. если этот ответ сработал для вас, примите это, нажав на галочку рядом с ним. –

Смежные вопросы