Php 同时将数据保存到两个表中
我有这个密码Php 同时将数据保存到两个表中,php,mysql,Php,Mysql,我有这个密码 <?php include 'dbconnect.php'; ?> <head> </head> <body> <form method="post" action="<?php echo $_SERVER["PHP_SELF"]?>"> <input type="text" name="product_name"/> <input type="text" n
<?php
include 'dbconnect.php'; ?>
<head>
</head>
<body>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]?>">
<input type="text" name="product_name"/>
<input type="text" name="product_price" />
<select name="product_cat">
<?php
$results = $connect->query("SELECT * FROM categories ORDER BY cat_name");
while($row = $results->fetch_array()) {
extract($row);
echo "<option value='"."{$cat_name}"."'>"."{$cat_name}"."</option>";
}
$results->free();
?>
</select>
<input type="submit" name="submit" value="Submit">
</form>
<?php
if($_POST){
$sql = "INSERT INTO products (prd_name, prd_price, cat_id) VALUES(?,?,?)";
if($stmt = $connect->prepare($sql) )
{
$productname = $_POST['product_name'];
$productprice = $_POST['product_price'];
$productcat = $_POST['product_cat'];
$stmt->bind_param("sii", $productname, $productprice, $productcat);
if($stmt->execute())
{
echo "Created";
$stmt->close();
}else{
die("Unable to create category.");
}
}else{
die("Unable to prepare statement.");
}
$connect->close();
}
?>
</body>
</html>
这里从名为categories的表中调用类别名称。您可以在下拉列表中看到代码。用户选择类别名称、填写产品名称和产品价格后,表单将所有三个数据保存到名为products的表中
第三个表名为category_product,有两列prd_id和cat_id(产品id和类别id)。我需要将产品id和类别与此表格一起记录到此表中
简而言之,当只回显名称时,如何从category表中获取category id,以及如何知道上次保存的产品id,然后同时将这两条记录插入第二个(category_products)表。您可以从第一条语句中获取要在第二条中使用的记录。这里有一些伪代码可以帮助您实现这一点
if($stmt->execute()) {
$record_id = $stmt->insert_id;
$sql = "INSERT table2(data, table1_id) VALUES($someval, $record_id)";
// Run the query here
}
首先,我会使用“{$cat_name}”,所以你有你的catId。然后,对于最后一个insert id,使用mysqli\u insert\u id返回最后一个查询的idinsert@Psychokiller1888可以我会试着再打给你。谢谢你的建议。谢谢你,先生,但是我如何获得类别名称的id呢?按照我在上面的评论中写的那样传递它