插入数据到数据库

问题描述:

我想要做的是这样的:当我从下拉列表中选择颜色时,它将被提交到数据库,并进入汽车表。我已经建立了数据库。插入数据到数据库

这是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

你的问题是什么?什么不行? – 2011-04-28 20:04:22

+0

@Pekka所有的汽车似乎都是红色的:)但我同意一个实际的问题或问题描述会很好。 – jeroen 2011-04-28 20:06:49

首先,你需要分配值的选项:

<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']); 
+3

正如我最近了解到的,[w3schools可能是最好的避免...](http://w3fools.com/):) – 2011-04-28 20:14:50

+0

缺少$ rinnad = mysql_real_escape_string($ _ POST ['Rinnad']);工作得很好,谢谢。 – rookie 2011-04-28 20:16:03

+0

谢谢大开眼界djacobson :) – vichle 2011-04-28 20:20:54

放一个;此行之后

$car = "red"; 

你将不得不让贴值:

$car = mysql_real_escape_string($_POST['Rinnad']); 

你得有

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

这里的错误,你did'nt指定字段名到$汽车指定,我给汽车id的auto_increment .. ?? THN您的代码将是

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

你neednot指定自动增量field.default它可以被添加。