вставка данных в базу данных

#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')");
  

вам не нужно указывать поле автоматического увеличения. по умолчанию оно может быть добавлено.