将值从下拉列表插入数据库表

时间:2014-06-04 04:46:02

标签: php html mysql html.dropdownlistfor

我是PHP的新手。当我试图将值从下拉列表插入显示一些错误的数据库表

代码

<html>
<head>
<title>OPTION</title>
</head>
<body>
<form action="option.php" method="get">
Name :<select name="name">
<option value="name1">name1</option>
<option value="name2">name2</option>
<option value="name3">name3</option>
<option value="name4">name4</option>
</select><br>
<input type="submit" name="submit" value="Insert">
</form>
</body>
</html>
<?php
if(isset($_GET['submit']))
{
    $name=$_GET['name'];
    $c=mysql_connect("localhost","root","");
    mysql_select_db("test");
    $ins=mysql_query("insert into option (name) values ('$name')",$c);
    if($ins)
    {
        echo "<br>".$name."inserted";
    }
    else
    {
        echo mysql_error();
    }
}
?>

当我尝试显示此错误时

您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以获得正确的语法,以便使用附近的选项(名称)值(&#39; name3&#39;)&#39;在第1行

谢谢..,

5 个答案:

答案 0 :(得分:3)

您必须更改表格的名称(option)。 Option是一个mysql关键字,因此在使用php执行查询时会导致语法错误。

将表名更改为option_test或其他内容,并在您的PHP代码中进行适当的更改。然后它会工作。

同时开始使用mysqli_PDO,因为从PHP5起已弃用mysql_

答案 1 :(得分:1)

尝试使用此代码,我将name的{​​{1}}更改为select

在表名

周围使用反引号
names

答案 2 :(得分:1)

Html代码是:

<select name="a">
    <option value="val1">value1<option>
    <option value="val2">value2<option>
    <option value="val3">value3<option>
</select>

PHP代码是:

<?php
    $a=$_POST[a];
?>

上面的php代码将帮助您将所选选项中的数据提取到php变量$ a中。从那里开始,只需在插入之前将数据插入到查询中。

答案 3 :(得分:0)

在代码mysql_query("insert into option (name) values ('$name')",$c);

这里不需要为该函数添加连接变量。
你可以写mysql_query("insert into option (name) values ('$name')")or die(mysql_error());调用函数的原因 mysql_error()是你才知道会发生什么类型的错误..
另一件事是你应该将你的表的名称从选项改为option1或其他任何东西......然后它会正常工作......不用担心......:)

答案 4 :(得分:0)

请使用 POST 而不是 GET,因为您想在 datdabse 中插入数据。像这样:

  <form action="option.php" method="post`">