小PHP代码块不存储值到sql数据库

时间:2012-12-08 17:58:18

标签: php sql

我有一个小程序,其中有一个下拉列表,其中包含汽车名称,具体取决于选择哪个下拉项目我想将其值存储在数据库中。我想我对如何执行此操作有了一般的想法,但我的代码并没有将值存储到我的数据库中。

我的数据库有三个字段:'id'(类型int(11)),'car_val'(类型int(11)),'name'(类型文本)

<?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>";



?>

1 个答案:

答案 0 :(得分:1)

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

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

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

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

如果您不使用自动增量字段,则由您提供ID,但要使用我之前的sentecne中提到的格式。