1
我試圖從選擇標記 中選擇該項目,然後通過隱藏輸入發佈它,以便將其插入到具有項目名稱的另一個表中。如何從mysql_fetch_assoc捕獲變量
在我要插入的項目的名稱。換句話說以及相應的ID:
<form action="interface.php" method="post">
Equipment: <select name="equipment">
<option value="0">Выберите оборудование</option>
<?php
$res = mysql_query('select `equipment_id`,`name`,`ip_adress` from `equipment`');
while($row = mysql_fetch_assoc($res)){
do
{
printf("<option>%s</option>",$row['name']);
$equipment_id = $row['equipment_id'];
while ($row=mysql_fetch_array($res));
}
?>
</select>
<input type="hidden" name="equipment_id" value="<?php echo $equipment_id;?>" />
Interface.php處理程序:
<?php
include("connect.php");
$val1 = $_POST['equipment'];
$val2 = $_POST['equipment_id'];
$val3 = $_POST['vlan'];
$val4 = $_POST['vlan_id'];
$val5 = $_POST['name'];
$val6 = $_POST['description'];
mysql_select_db("ADRESSA") or die("Could not select database");
$result_insert = mysql_query ("INSERT INTO `ADRESSA`.`interface` (`equipment`, `equipment_id`, `vlan`,`vlan_id`,`name`,`description`)
VALUES ('$val1','$val2','$val3','$val4','$val5','$val6');")
or die ("<b>Query failed:</b> " . mysql_error());
if ($result_insert== 'true')
{
echo "1 record added";
header('Location: http://192.168.0.1/find/1/show_interface.php');
}
else{echo "try again";
}
mysql_close();
?>
的問題是,該值僅正確插入首先,在下一次查詢期間,它只是添加相同的值。
此致敬禮!
1.永遠不要信任用戶輸入2.您很容易發生SQL注入3.您正在使用不贊成使用的API。所有3個都可以使用準備好的語句來解決 – asprin
好吧,在現階段它並不是非常重要,我真正正在努力的是如何使這項工作成爲 – user3663497
你的隱藏領域在任何循環之外。只有循環的最後值存儲在那裏。如果您需要存儲「選定」選項的值,那麼我認爲您可能需要一些JavaScript代碼。如果你的意思是別的,請澄清。 – andrew