Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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_Mysql_Drop Down Menu - Fatal编程技术网

Php 从下拉列表中获取值并将其插入数据库

Php 从下拉列表中获取值并将其插入数据库,php,mysql,drop-down-menu,Php,Mysql,Drop Down Menu,您好,我有一个下拉列表,其中包含从我的数据库中的表中获取的选项,我希望当用户选择其中一个选项时将其存储在数据库的另一个表中。我有一个select by的代码,无法找到获得正确值的方法来存储。 这是下拉列表的代码 <select id="SelectDisease" name="disease"> <?php $sql = mysql_query("SELECT name FROM disease"); while ($row = mysql_fetch_

您好,我有一个下拉列表,其中包含从我的数据库中的表中获取的选项,我希望当用户选择其中一个选项时将其存储在数据库的另一个表中。我有一个select by的代码,无法找到获得正确值的方法来存储。 这是下拉列表的代码

<select id="SelectDisease" name="disease">
    <?php
    $sql = mysql_query("SELECT name FROM disease");
    while ($row = mysql_fetch_array($sql))
    {
        echo "<option value=$disease>" . $row['name'] . "</option>";
    }
    ?>
    </select>

这是插入代码

queryMysql("INSERT INTO patient (fname,lname,username,email,password,gender,age,disease,spid) VALUES('$fname','$lname','$username','$email', '$password','$PatientG','$PatientAge','$disease','$PatientSPID')");
                die("<h4>Account created</h4>Please Log in.<br /><br />");
queryMysql(“插入患者(fname、lname、用户名、电子邮件、密码、性别、年龄、疾病、spid)值(“$fname”、“$lname”、“$username”、“$email”、“$password”、“$PatientG”、“$PatientAge”、“$disease”、“$PatientSPID”);
死亡(“帐户创建请登录。

”);
我不确定是否正确理解了您的问题,但这里有一个方法:

  • 将带有
    操作的
    标记中的
    标记包含到另一个PHP页面
  • 在第二个PHP页面中,读出变量
    $disease=$\u POST['disease']
  • 调用SQL Insert语句
  • 旁注:

    也许改变:

    echo "<option value=$disease>" . $row['name'] . "</option>";
    
    echo”“$行['name']。"";
    

    echo”“$行['name']。"";
    

    这有用吗?

    这有点乱,所以这可能是一篇乱七八糟的文章,但我会尝试澄清我认为你在试图做什么。对于您选择的输入:

    <select id="SelectDisease" name="disease">
    <?php
      $sql = mysql_query("SELECT name FROM disease");
      while ($row = mysql_fetch_array($sql)){
        echo "<option value='".$row['name']."'>".$row['name']."</option>";
      }
    ?>
    </select>
    
    那么您的查询应该可以正常工作:

    queryMysql("INSERT INTO patient 
    (fname,lname,username,email,password,gender,age,disease,spid) 
    VALUES('$fname','$lname','$username','$email', '$password','$PatientG','$PatientAge','$disease','$PatientSPID')");
    
    如果这不起作用,请评论任何错误,我们将尝试整理它们

    注意

    这是难以置信的不安全。我从不建议在实时应用程序上执行此操作,因为SQL注入非常容易。另外,请注意MySQL函数正在被弃用。查找MySQLiPDO并学习如何实现这些功能


    祝你好运。

    这是在表单标签内吗?如果是这样,请尝试使用$\u POST['disease']获取所选的值。
    可能缺少
    value=“”周围的引号
    哪里定义了$disease。@Timleis,不是这样,因为如果我像你说的那样,它在table@NickBourlai我的意思是,
    $disease
    在当前代码段中未定义。除非你在其他地方定义它。@NickBourlai好的,在哪里?现在,如果定义了
    $disease
    ,则每个选项都将具有相同的值。这就是你想要的吗?我有表单标签,而且我读了变量,但仍然不工作。你的表单标签中有METHOD=“POST”吗?是的,我只是不想在问题中发布整个代码。。。它给了我这个错误(语法错误,意外的'$row'(T_变量),期望),这是因为他没有逃逸双引号。如果你使用语法突出显示编辑器,你会很容易看到。对不起,我犯了一些语法错误,正如@ElefantPhace所说的。再试一次。
    $fname = $_POST['fname'];
    $lname = $_POST['lname'];
    ... // Etc for each input you have.
    $disease = $_POST['disease'];
    
    queryMysql("INSERT INTO patient 
    (fname,lname,username,email,password,gender,age,disease,spid) 
    VALUES('$fname','$lname','$username','$email', '$password','$PatientG','$PatientAge','$disease','$PatientSPID')");