Я пытаюсь обновить таблицу "products" innodb, используя форму, в которой последний столбец является subid (fk), ссылается на subid (PK) таблицы "subcategory", но я только хочу обновить таблицу "products", не делаялюбые изменения в столбце subid (fk) в таблице "products", вот мой полный код
<?php
if (isset($_POST['PRODUCT_NAME'])) {
$pid = mysql_real_escape_string($_POST['thisPID']);
$catalog_no = mysql_real_escape_string($_POST['CATALOG_NO']);
$product_name = mysql_real_escape_string($_POST['PRODUCT_NAME']);
$price = mysql_real_escape_string($_POST['PRICE']);
$composition = mysql_real_escape_string($_POST['COMPOSITION']);
$size = mysql_real_escape_string($_POST['SIZE']);
// See if that product name is an identical match to another product in the system
$sql = mysql_query("UPDATE products SET CATALOG_NO='$catalog_no', PRODUCT_NAME='$product_name', PRICE='$price', COMPOSITION='$composition', SIZE='$size' WHERE PID='$pid'") or die(mysql_error());
header("location: inventory_list.php");
exit();
}
?>
<?php
if (isset($_GET['PID'])) {
$targetID = $_GET['PID'];
$sql = mysql_query("SELECT products.PID, products.CATALOG_NO, products.PRODUCT_NAME, products.PRICE, products.COMPOSITION, products.SIZE FROM products WHERE PID='$targetID' LIMIT 1") or die(mysql_error());
$productCount = mysql_num_rows($sql); // count the output amount
if ($productCount > 0) {
while($row = mysql_fetch_array($sql)){
$catalog_no = $row["CATALOG_NO"];
$product_name = $row["PRODUCT_NAME"];
$price = $row["PRICE"];
$composition = $row["COMPOSITION"];
$size = $row["SIZE"];
}
} else {
echo "You dont have that product";
exit();
}
}
?>
Форма использует следующий код
<form action="inventory_edit.php" enctype="multipart/form-data" name="myForm" id="myform" method="post">
<table width="90%" border="0" cellspacing="0" cellpadding="6">
<tr>
<td width="20%" align="right">Product Name</td>
<td width="80%"><label>
<input name="product_name" type="text" id="product_name" size="64" value="<?php echo $product_name; ?>" />
</label></td>
</tr>
<tr>
<td align="right">Product Price</td>
<td><label>
$
<input name="price" type="text" id="price" size="12" value="<?php echo $price; ?>" />
</label></td>
</tr>
<tr>
<td align="right">Composition</td>
<td><label>
<textarea name="composition" id="composition" cols="64" rows="5"><?php echo $composition; ?></textarea>
</label></td>
</tr>
<tr>
<td align="right">Size</td>
<td><label>
<input type="text" name="size" id="size" value="<?php echo $size; ?>" />
</label></td>
</tr>
<tr>
<td> </td>
<td><label>
<input name="thisID" type="hidden" value="<?php echo $targetID; ?>" />
<input type="submit" name="button" id="button" value="Make Changes" />
</label></td>
</tr>
</table>
</form>
Форма ничего не делает (это простообновляет страницу), он не обновляет таблицу.Как решить эту проблему?
Вот моя структура таблицы: имя таблицы - для "products" установлено значение ON UPDATE и ON DELETE CASCADE
PID(PK) CATALOG_NO PRODUCT_NAME PRICE COMPOSITION SIZE SUBCAT_ID(FK)
1 bbp2 NO2 $45 1% NO 10ml 7