0

我有一个小程序,其中有一个带有汽车名称的下拉列表,具体取决于选择的下拉项目我想将其值存储在数据库中。我想我知道如何做到这一点,但我的代码没有将值存储到我的数据库中。

我的数据库有三个字段:'id'(type int(11)),'car_val'(type int(11)),'name'(type text)

<?php

//////connecting to our sql server
$db_connect=mysql_connect("xxxxx", "xxxxxx", "xxxxxx")     or die("not logged in");
//////now selecting our database
$db_select=mysql_select_db("xxxxxx") or die(mysql_error());
////this query is used the first time the page loads
$query = mysql_query("SELECT * FROM car "); 

echo '<form action="drop_down_car_test.php?" method="GET">';
echo '<table border = \"1\">';
echo '<tr><td>id</td><td>car</td><td>name</td>';

while($row=mysql_fetch_array($query)){
$currentID=$row['id'];

echo "<tr><td>";
echo $row['id'];

echo "</td><td>";
echo "<select name='carDropDown".$row['id']."' >;
<option value=\"1\">ford</option>;
<option value=\"2\">toyota</option>;
<option value=\"3\">gmc</option>;
</select>";

$carVal=$_GET['carDropDown'.$row['id']];
echo $carVal;

mysql_query("INSERT INTO car (car_val) VALUE ($carVal) WHERE id=$currentID ");

echo "</td><td>";
echo $row['name'];
echo "</td><td>";
}////end while
echo"<table>";

echo '<td bgcolor=#7FFF00><input type="submit" value="Update"></td>';
echo "</form>";



?>
4

1 回答 1

1

您在插入时使用了 where 子句,这是不正确的。

您应该为 id 使用自动增量字段,在这种情况下您不提供它,或者您应该自己提供它。无论哪种方式,插入语句总是如下所示

insert into tablename (column1name, col2name) values (value1, value2)等等

除了您以正确的顺序为所有列提供数据的情况外,在这种情况下您可以缩短它,但我总是建议使用上述语法。

如果您不使用自动增量字段,那么您可以提供 id,但要使用我之前的句子中提到的格式。

于 2012-12-08T18:03:16.203 回答