Php 将所选文本发送到数据库

Php 将所选文本发送到数据库,php,sql,Php,Sql,我正在尝试将数据发送到我的数据库。用户需要从下拉列表中选择产品。通过单击send,脚本将其发送到数据库。但是当我查看数据库时,我发现发送的数据是错误的。脚本发送选定的ID而不是选定的名称(文本)。我想发送的是姓名而不是身份证。我如何解决这个问题 index.php <div class="form-group"> <label>Product</label> <?php $servername = "localhost"; $username = "ro

我正在尝试将数据发送到我的数据库。用户需要从下拉列表中选择产品。通过单击send,脚本将其发送到数据库。但是当我查看数据库时,我发现发送的数据是错误的。脚本发送选定的ID而不是选定的名称(文本)。我想发送的是姓名而不是身份证。我如何解决这个问题

index.php

<div class="form-group">
<label>Product</label>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "database";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
     die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT * FROM forms";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
     echo "<select class='form-control select2' id='product1' name='product1' style='width: 100%;'>";
     echo "<option selected disabled hidden value=''></option>";
     // output data of each row
     while($row = $result->fetch_assoc()) {
                      echo "<option value='" . $row["id"]. "'>" . $row["name"]. "</option>";
     }                   
echo "</select>";
} else {
     echo "0 results";
}

$conn->close();

?>  
</div><!-- /.form-group -->

产品

您正在添加
id
作为
选项
字段中的值。如果要发送名称,请尝试
echo”“
我需要
id
进行计算。是否有其他方法来定义文本或将文本发送到数据库发送id比出于各种原因发送文本要好得多。为什么要发送名称?用户可以更改第一个表中的
名称
表单
。但第二个表中已发布产品的名称:
forms2
可能不会更改。它需要保持HTML表单提交的“仅设计值”属性值不变。如果您同时需要id和name,则可以尝试使用您认为不会出现在名称中的分隔符将它们连接起来,例如,如果id为1 | xyz或2+abc,其中|和+是分隔符,则您将添加
id
作为
选项
字段中的值。如果要发送名称,请尝试
echo”“
我需要
id
进行计算。是否有其他方法来定义文本或将文本发送到数据库发送id比出于各种原因发送文本要好得多。为什么要发送名称?用户可以更改第一个表中的
名称
表单
。但第二个表中已发布产品的名称:
forms2
可能不会更改。它需要保持HTML表单提交的“仅设计值”属性值不变。如果同时需要id和名称,则可以尝试使用您认为不会出现在名称中的分隔符连接它们,例如,如果id为1 | xyz或2+abc,其中|和+是分隔符
<?php 
session_start(); 
?>

<html>
<body>

<table>
<?php
$correct = true;

$product1 = $_POST['product1'] ;

?>
</table>

<?php
if($correct){
    $db = new PDO('mysql:host=localhost;dbname=database', 'root', '');

    $query = "INSERT INTO forms2 (product1) VALUES (?)";
$stmt = $db->prepare($query);
$stmt->execute(array($product1));

            header("Location: ./print.php");  
}else{

    echo "<br /><br />Error<br />\n";
}
?>

</body>
</html>