У меня возникла проблема с получением этой формы для успешной отправки данных в базу данных. Я проверил, что база данных/таблица существует (схема показана ниже) и по какой-то причине она не вставляет ее в базу данных. Когда я пытаюсь представить образцы данных, он не меняет страницу и просто сидит там. Что происходит?PHP Форма, не добавляющая данные в базу данных mySQL?
<body>
<?php if($_SERVER["REQUEST_METHOD"] != "POST"){ ?>
<h1>My Favorite Foods</h1>
<form action="index.php" method="post" id="foodForm">
Name: <input type="text" name="foodname" id="nameField"></input><br />
Type: <select name="foodtype" id="typeField">
<option value="fruit">Fruit</option>
<option value="vegetable">Vegetable</option>
<option value="dairy">Dairy</option>
<option value="meat">Meat</option>
<option value="grain">Grain</option>
<option value="other">Other</option>
</select><br />
Number of Calories: <input type="text" name="foodcals" id="calsField"></input><br />
Healthy? <input type="checkbox" name="foodhealth" value="healthy" id="healthyField"></input><br />
Additional Notes:<br />
<textarea name="foodnotes" id="notesField"></textarea><br />
<input type="submit" value="Add" onclick="validateForm();return false;"></input>
</form>
<?php }else{ ?>
<!-- form handling and output printing stuff goes here -->
<?php $insert = "INSERT INTO Foods(Name, Type, NumCals, Healthy, Notes) VALUES ('$_POST[foodname]', '$_POST[foodtype]', '$_POST[foodcals]', '$_POST[foodhealth]', '$_POST[foodnotes]'";
$con = mysqli_connect("localhost","root");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_select_db("mydb");
$result = mysqli_query($con, $insert);
if ($result) {
echo "Food added successfully.";
/*while ($row = mysqli_fetch_array($result)) {
echo $row['Name'] . ", " . $row['Type'] . ", " . $row['NumCals'] . ", " . $row['Healthy'] . ", " . $row['Notes'];
echo "<br>";
} */
} else {
echo "Error adding person";
mysqli_error($con);
}
} ?>
</body>
</html>
Схема:
Foods (PID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (PID), Name VARCHAR (20), тип VARCHAR (9), NumCals INT, Healthy BOOL, Примечания TEXT)
Теперь я получаю сообщение об ошибке, в котором говорится, что он не может добавить пищу. Что-то не так с моей вставкой? Если так, то, что это? – vsingal5
Какую ошибку вы получаете точно? –
Что показывает 'mysqli_error()'? – Barmar