Php 从数据库中填充下拉列表,并将该值插入同一数据库中的另一个值
我将数据填充到汇编表的下拉列表中(表中的值是用户自己使用php添加的)。现在,我想在零件表中输入部件名称。要从此下拉菜单中选择值,需要插入零件表的“部件名称”列中。我无法选择下拉列表值并将其插入零件表 Part.phpPhp 从数据库中填充下拉列表,并将该值插入同一数据库中的另一个值,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我将数据填充到汇编表的下拉列表中(表中的值是用户自己使用php添加的)。现在,我想在零件表中输入部件名称。要从此下拉菜单中选择值,需要插入零件表的“部件名称”列中。我无法选择下拉列表值并将其插入零件表 Part.php <html> <body> <form action="insert_part.php" method="post"> <!--Assembly_Id: <input type="text" name="Assembly_Id"&
<html>
<body>
<form action="insert_part.php" method="post">
<!--Assembly_Id: <input type="text" name="Assembly_Id">-->
<?PHP
// Connect to your database ** EDIT THIS **
mysql_connect("localhost","root","abc"); // (host, username, password)
// Specify database ** EDIT THIS **
mysql_select_db("test") or die("Unable to select database"); //select db
$result = mysql_query("select assembly_id,assembly_name from assembly ORDER BY Assembly_Id");
echo '<select name="assembly_name"><OPTION>';
echo "Select an option</OPTION>";
while ($row = mysql_fetch_array($result)){
$assembly_name= $row["assembly_name"];
echo "<OPTION value=\"$assembly_name\">$assembly_name</OPTION>";
}
echo '</SELECT>';
?>
Part_name: <input type="text" name="Part_name">
<input type="submit">
</form>
<hr><hr>
<?php
$con = mysql_connect("localhost","abc");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("test", $con);
$result = mysql_query("SELECT * FROM Part ORDER BY Part_Id");
echo "<table border='1'>
<tr>
<th>Assembly Name</th>
<th>Part Id</th>
<th>Part Name</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['Assembly_Name'] ."</td>";
echo "<td>" . $row['Part_Id'] . "</td>";
echo "<td>" . $row['Part_Name'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
</body>
</html>
零件名称:
insert_part.php
<?php
$con = mysql_connect("localhost","abc");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("test", $con);
$assembly_name = isset($_POST['assembly_name'])
$sql="INSERT INTO Part (assembly_name,Part_Id, Part_Name) VALUES ('$_POST[assembly_name]','$_POST[Part_Id]','$_POST[Part_name]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
header("Location:part.php");
exit;
mysql_close($con);
?>
第1步:试着理解你的错误试图告诉你什么。第10行有一个变量问题
步骤2:检查代码,了解为什么使用中的变量可能存在问题
接下来,检查上面的行,您会发现第9行的语句没有用完成代码>并在到达第10行时遇到“意外”变量
您似乎也没有提交$\u帖子['Part\u Id']
此外,您希望在SQL语句中的$\u POST
中使用引号,例如$\u POST['assembly\u name']
。第9行缺少分号:
$assembly_name = isset($_POST['assembly_name']);
但正如@Lion所说,一定要改用预先准备好的语句。事实上,这段代码非常不安全:(。它们不再被维护。请参阅?改为了解,并使用或-将帮助您决定使用哪一种。如果您选择PDO,。您是对的,尽管这些只会引起注意,在理论上应该是有效的。这是错误的做法。