我是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行
谢谢..,
答案 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`">