Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将下拉列表中的值插入数据库表_Php_Html_Mysql_Html.dropdownlistfor - Fatal编程技术网

Php 将下拉列表中的值插入数据库表

Php 将下拉列表中的值插入数据库表,php,html,mysql,html.dropdownlistfor,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&

我是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();
    }
}
?>

选项
姓名:
名称1
姓名2
名字3
名字4


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

将表名更改为
option\u test
或其他名称,并在php代码中进行适当的更改。那就行了


也可以开始使用
mysqli\uuuu
PDO
,因为
mysql\uuuu
从PHP5开始就被弃用了

试试这个代码,我把
select
name
改为
names
,然后

在表名周围使用反勾号

    <form action="option.php" method="GET">
    Name :<select name="names">
    <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>

    <?php
    if(isset($_GET['names']))
    {
        $name=$_GET['names'];
        $c=mysql_connect("localhost","root","");
        mysql_select_db("test");
        $ins=mysql_query("INSERT INTO `option` 
                          (name)
                          VALUES ('$name')",$c) or die(mysql_error());
        if($ins)
        {
            echo "<br>".$name."inserted";
        }

    }

?>

姓名:
名称1
姓名2
名字3
名字4

Html代码是:

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

价值1
价值2
价值3
PHP代码是:

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


上面的php代码将帮助您将所选选项中的数据提取到php变量$a中。从那以后,您可以像以前一样简单地将数据插入查询。

在您的代码
mysql\u查询中(“插入选项(名称)值('$name')”,$c)
这里不需要向该函数添加连接变量。
您只需编写
mysql\u查询(“插入选项(名称)值('$name'))或die(mysql\u error())调用函数mysql_error()的原因是您知道将发生什么类型的错误。

另一件事是,您应该将表的名称从option更改为option1或其他任何名称…然后它就可以正常工作了…不用担心…)

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

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


您必须更改表的名称。Oprion是一个mysql关键字,因此在使用php执行查询时会出现语法错误。由于mysql已被弃用,请也开始使用mysqli_uuu或PDO。使用mysqli时,会显示错误警告:mysqli_uSELECT_db()只需要2个参数,1个参数在第22行的C:\wamp\www\new test\option.php中给出检查本教程。对初学者来说是个不错的选择。尝试遵循本教程中的面向对象方法。您可以快速学习,面向对象方法也有许多优点$db=newmysqli('localhost','user','pass','db_name');