#php #mysql #database #forms #drop-down-menu
#php #mysql #База данных #формы #выпадающее меню
Вопрос:
Что я пытаюсь сделать, так это следующее: когда я выбираю цвет из выпадающего списка, он будет отправлен в базу данных и в таблицу car. Я уже настроил базу данных.
Это часть HTML-кода.
<form action="rinnad.php" method="post">
Car color:
<select name="Rinnad">
<option>red</option>
<option>blue</option>
<option>green</option>
</select>
<input type="submit" value="lisa" />
</form>
Вот PHP-код, который я использую для ввода цвета автомобиля в базу данных:
<?php
$connect = @mysql_connect ("localhost", "root", "") or die("Fail!!!! :D:D:D");
mysql_select_db("tibid") or die("there is no such db");
if($connect){
echo "connected to db";
}else{
echo "didnt connect to db";
}
$car = "red"
$query = mysql_query("insert into test values('','$car')");
?>
Что мне нужно сделать?
Спасибо.
Комментарии:
1. В чем ваш вопрос? Что не работает?
2. @Pekka Все машины кажутся красными 🙂 Но я согласен, что актуальный вопрос или описание проблемы было бы неплохо.
Ответ №1:
Сначала вам нужно присвоить значения параметрам:
<option value="red">red</option>
http://www.w3schools.com/TAGS/tag_option.asp
После этого вам нужно присвоить значение из формы вашей переменной $ car:
$car = $_POST['Rinnad'];
или, что более надежно, с некоторой защитой от SQL-инъекций:
$car = mysql_real_escape_string($_POST['Rinnad']);
Комментарии:
1. Как я недавно узнал, w3schools лучше избегать … 🙂
2. отсутствовал $rinnad = mysql_real_escape_string($_POST[‘Rinnad’]); Работал очень хорошо, спасибо.
3. Спасибо за откровение, Джакобсон 🙂
Ответ №2:
Поставьте; после этой строки
$car = "red";
Ответ №3:
Вам нужно было бы получить опубликованное значение:
$car = mysql_real_escape_string($_POST['Rinnad']);
Ответ №4:
Вы получили ошибку с
$car = "red";
$query = mysql_query("insert into test values('','$car')");
Здесь вы не указали имя поля, на которое указывает $car.я думаю, вы указали auto_increment для идентификатора автомобиля ..??
тогда ваш код будет
$query = mysql_query("insert into test (color)values('$car')");
вам не нужно указывать поле автоматического увеличения. по умолчанию оно может быть добавлено.