Как исправить MySQL и PHP в WAMP, не вставляя данные? - PullRequest
0 голосов
/ 10 апреля 2019

Я использую WAMP в качестве своего php-сервера, я использую PHP-AdminPage для своей базы данных (используя MySql), Все работает, моя база данных подключена.за исключением случаев, когда я хочу отобразить данные, строки создаются, но они пустые!даже если бы я не оставил их пустыми.Я не понимаю, я так запутался.

Код PHP:

<html>
<body>
<?php

$conn = new mysqli('localhost','root','');

//check connection
if ($conn-> connect_error) {
        die("Connection failed: ".$conn->connect_error);
}
echo "Database Connected successfully";

//choose db
mysqli_select_db($conn,"catcafe");

//insert query
$sql="INSERT INTO customer(FName,LName,Email,PhNum,Time) VALUES('$_POST[firstname]',
'$_POST[lastname]','$_POST[Email]','$_POST[Mobile]','$_Post[Time]')";

if($conn->query($sql) === true) {
    echo "New record created";
}
else{
    echo "Error, check values".$sql."<br>".$conn->error;
}


mysqli_close($conn);
?> 

</body>
</html>
//insert query
$sql="INSERT INTO customer(FName,LName,Email,PhNum,Time) VALUES('$_POST[firstname]',
'$_POST[lastname]','$_POST[Email]','$_POST[Mobile]','$_Post[Time]')";

MySQL постоянно говорит мне, что ошибка здесь!но я не знаю, что это такое, столбцы имеют то же имя, что и в базе данных.

МОЯ ФОРМА / КОД HTML:

<form action="InsertReservation.php">
        <label for="fname">First Name  </label><br>
        <input type="text" id="fname" name="firstname" placeholder="Your name.." style="width:600px; font-size: 30px;">
        <br>
        <label for="lname">Last Name  </label><br>
        <input type="text" id="lname" name="lastname" placeholder="Your last name.."style="width:600px; font-size: 30px;">
        <br>
        <label for="Email">Email  </label><br>
        <input type="text" id="Email" name="Email" placeholder="Your Email is.."style="width:600px; font-size: 30px;">
        <br>
        <label for="Mobile">Mobile Number  </label><br>
        <input type="text" id="Mobile" name="Mobile" placeholder="Your Mobile Number is.." style="width:600px; font-size: 30px;">
        <br>
        <label for="Time">Time  </label><br>
        <input type="time" id="Time" name="Time" min="8:00"  required style="width:600px; font-size: 30px;">
        <br>
        <input type="submit" value="Submit" onclick="alert ('Thank you. Your Reservation Is Confirmed!')"> 
  <button type="reset" value="Reset" onclick="alert ('Reset is complete')"> Reset </button> <br>
      </form>

Код MySQL

SELECT * FROM `customer` ORDER BY `customer`.`FName` ASC 

Я хочу, чтобы он вставлял данные, но он продолжает вставлять пустые данные.

Ответы [ 2 ]

1 голос
/ 10 апреля 2019
  1. Проверяйте свои входные данные все время.
  2. Используйте подготовленные отчеты для ввода пользователя
  3. Time - зарезервированное слово mysql, поэтому используйте ``.

    $conn = new mysqli('localhost', 'root', '');
    
    //check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    echo "Database Connected successfully";
    
    //choose db
    mysqli_select_db($conn, "catcafe");
    
    //insert query
    $sql = "INSERT INTO customer(FName,LName,Email,PhNum,`Time`) VALUES(?,?,?,?,?)";
    
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("sssss", $_POST['firstname'], $_POST['lastname'], $_POST['Email'], $_POST['Mobile'], $_POST['Time']);
    
    if ($stmt->execute()) {
        echo "New record created";
    } else {
        echo "Error, check values " . $stmt->error;
    }
    
    
    mysqli_close($conn);
    ?>
    
0 голосов
/ 10 апреля 2019

Здравствуйте. Пожалуйста, используйте этот код в одном файле, он работает нормально.
Спасибо

$conn = new mysqli('localhost', 'root', '');

    //check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    echo "Database Connected successfully";

    //choose db
    mysqli_select_db($conn, "catcafe");
    if($conn){
    //insert query

    if(isset($_POST['submit']) && $_POST['submit'] == 'Submit'){

     $sql = "INSERT INTO customer(FName,LName,Email,PhNum,Time) 
                VALUES('".$_POST['firstname']."','".$_POST['lastname']."','".$_POST['Email']."','".$_POST['Mobile']."','".$_POST['Time']."')";

        if($conn->query($sql) === true) {
            echo "New record created";
        }
        else{
            echo "Error, check values".$sql."<br>".$conn->error;
        }
    }

    mysqli_close($conn);
    }

    <form method="post">
            <label for="fname">First Name  </label><br>
            <input type="text" id="fname" name="firstname" placeholder="Your name.." style="width:600px; font-size: 30px;">
            <br>
            <label for="lname">Last Name  </label><br>
            <input type="text" id="lname" name="lastname" placeholder="Your last name.."style="width:600px; font-size: 30px;">
            <br>
            <label for="Email">Email  </label><br>
            <input type="text" id="Email" name="Email" placeholder="Your Email is.."style="width:600px; font-size: 30px;">
            <br>
            <label for="Mobile">Mobile Number  </label><br>
            <input type="text" id="Mobile" name="Mobile" placeholder="Your Mobile Number is.." style="width:600px; font-size: 30px;">
            <br>
            <label for="Time">Time  </label><br>
            <input type="time" id="Time" name="Time" min="8:00" style="width:600px; font-size: 30px;">
            <br>
            <input type="submit" name="submit" value="Submit" onclick="alert ('Thank you. Your Reservation Is Confirmed!')"> 
      <button type="reset" value="Reset" onclick="alert ('Reset is complete')"> Reset </button> <br>
          </form>
...