Я делаю простую форму, которая вставляет значения в таблице базы данных это кодPHP/MySQL: Вставка оператор не работает, как ожидалось
new_subject, PHP
<form action="create_subject.php" method="post">
<p>Menu name:
<input type="text" name="menu_name" value="" />
<p>Position:
<select name="position">
<?php
$subject_set= find_all_subjects();
$subject_count=mysqli_num_rows($subject_set);
for($count=1; $count<=$subject_count+1; $count++){
echo "<option value='{$count}' >{$count}</option>";
}
?>
</select>
</p>
<p>Visible
<input type="radio" value="0" name="visible" />No
<input type="radio" value="1" name="visible" />Yes
</p>
<input type="submit" value="Submit" name="submit" />
<br/> <br/>
<a href="manage_content.php">Cancel</a>
</form>
create_subject.php
<?php
if(isset($_POST['submit'])){
$menu_name= $_POST["menu_name"];
$position = (int) $_POST["position"];
$visible= (int)$_POST["visible"];
$query="INSERT INTO subjects (menu_name , position , visible) VALUES($menu_name, $position, $visible)";
$result= mysqli_query($connection, $query);
if($result){
header("Location : manage_content.php");
exit();
}
else {
echo 'There was some problem ' ;
echo mysqli_error($connection);
}
}
else {
header('Location: new_subject.php');
exit();
}
?>
Это ошибка Была какая-то проблема неизвестное поле 'name' // name - это значение, которое я вводил в текстовое поле. Кто-нибудь, пожалуйста, помогите мне в этом вопросе. если я не ввести значение для текстового поля других значений успешно введены в базе данных
'$ menu_name', это, скорее всего, текст и его нужно указывать. –
PERFECT, Большое спасибо @ Fred-ii- – Sikander
Я предлагаю вам прочитать http://en.wikipedia.org/wiki/SQL_injection, прежде чем хакер получит вашу форму и будет иметь с ней нелегальный секс. – Nico