【问题标题】:insert values from a drop down list to database table [duplicate]将下拉列表中的值插入数据库表[重复]
【发布时间】:2014-06-04 04:46:01
【问题描述】:

我是 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 服务器版本相对应的手册,以在第 1 行的“选项(名称)值('name3')'附近使用正确的语法

谢谢你..,

【问题讨论】:

  • 您必须更改表的名称。 Oprion 是 mysql 关键字,因此在使用 php 执行查询时会导致语法错误。也开始使用 mysqli_ 或 PDO,因为 mysql_ 已被弃用。

标签: php html mysql html.dropdownlistfor


【解决方案1】:

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

将表名更改为option_test 或其他名称,并对您的php 代码进行适当的更改。然后就可以了。

也开始使用mysqli_ 或PDO,因为mysql_ 从 PHP5 开始已被弃用。

【讨论】:

  • 使用 mysqli 时显示错误警告:mysqli_select_db() 需要 2 个参数,1 个在第 22 行的 C:\wamp\www\new test\option.php 中给出
  • 查看本教程。适合初学者的一款。尝试遵循本教程中的面向对象方法。您可以快速学习,面向对象的方法也有很多优点。 codular.com/php-mysqli
  • $db = new mysqli('localhost', 'user', 'pass', 'db_name');
【解决方案2】:

试试这段代码,我把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";
        }

    }

?>

【讨论】:

    【解决方案3】:

    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 中。从那里您可以像之前插入的一样将数据插入到查询中。

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-08-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-21
          • 1970-01-01
          相关资源
          最近更新 更多