0

我当前的表单将数据提交到两个不同的表,我希望一个表中的 auto_incremented 值也存储在第二个表中。

<form method="POST" action="addcocktail.php" >
                    Cocktail Name: <input type="text" name="cocktailname" /> 
                    How To: <input type="text" name="howto" /> 
                    <br> 
                    <select id="selectingred1" name="selectingred1">
                      <?php
                      $sql = "SELECT ingredientID, name FROM tblIngredient ".
                      "ORDER BY name";

                      $rs = mysql_query($sql);

                      while($row = mysql_fetch_array($rs))
                      {
                        echo "<option value=\"".$row['ingredientID']."\">".$row['name']."</option>\n  ";
                      }
                      ?>
                    </select>
                    <select id="quantity1" name="quantity1">
                      <option></option>
                      <option>1</option>
                      <option>2</option>
                      <option>3</option>
                      <option>4</option>
                    </select>
                    <br>
<input type="submit" value="add" />
                </form>

addcocktail.php:

 <?php include("databasecon.php"); ?>

<?php
mysql_select_db("mwheywood", $con);

//insert cocktail details
$sql="INSERT INTO tblCocktail (name, howto)
VALUES
('$_POST[cocktailname]','$_POST[howto]')";

$sql2="INSERT INTO tblRecipe (ingredientID, quantity)
VALUES
('$_POST[selectingred1]','$_POST[quantity1]'),
('$_POST[selectingred2]','$_POST[quantity2]'),
('$_POST[selectingred3]','$_POST[quantity3]'),
('$_POST[selectingred4]','$_POST[quantity4]')";



if (!mysql_query($sql,$con))
  {
  die('Error: you fail at life' . mysql_error());
  }
echo "cocktail added";

if (!mysql_query($sql2,$con))
  {
  die('Error: you fail at life' . mysql_error());
  }
echo "ingredients added";

mysql_close($con);

?>

简单地说,当我提交表单时。我希望发布数据的“鸡尾酒ID”到“tblCocktail”也保存到“tblRecipe”

4

1 回答 1

2

执行插入查询后,如果成功,则可以通过mysql_insert_id()函数获取插入 ID。

于 2012-05-02T20:49:27.403 回答