вставка данных в базу данных - PullRequest
0 голосов
/ 29 апреля 2011

Я пытаюсь сделать следующее: когда я выбираю цвет из выпадающего списка, он будет передан в базу данных и в таблицу 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')"); 
?>

Что мне нужно сделать?Спасибо.

Ответы [ 4 ]

1 голос
/ 29 апреля 2011

Сначала вам нужно присвоить значения опциям:

<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']);
0 голосов
/ 20 августа 2012

Вы получили ошибку с

$car = "red";
$query = mysql_query("insert into test values('','$car')");

Здесь вы не указали имя поля, на которое указывает $ car. Я дал auto_increment для идентификатора машины .. ??thn Ваш код будет

$query = mysql_query("insert into test (color)values('$car')");

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

0 голосов
/ 29 апреля 2011

Вы должны получить объявленное значение:

$car = mysql_real_escape_string($_POST['Rinnad']);
0 голосов
/ 29 апреля 2011

положить; после этой строки

$car = "red";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...