我正在研究带有帖子的博客。我想插入3个表
帖子,类别和post_categories(为帖子显示正确的类别)
我尝试使用mysqli,例如:
$titel = $_POST['titel'];
$post = $_POST['post-text'];
$sql=
"INSERT INTO posts (titel, post)
VALUES ('$titel', '$post')
INSERT INTO post_categories (idposts)
VALUES ('". $mysqli->insert_id() ."')
";
if (!mysqli_query($link,$sql))
{
die('Error: ' . mysqli_error($link));
}
echo "1 record added";
mysqli_close($link);
但这无效。我现在被困了两个小时,我几乎放弃了。我真的不知道该如何在mysqli中做到这一点。我知道它在mysql中的工作方式。
希望有人可以帮助我。
我的表结构看起来像这样:
帖子
iDposts
titel
帖子
添加
类别
idCategories
类别
post_categories
id
IDPOSTS
idCategories
,因为您也将多个表插入多个表中,也可以使用交易。另外,在执行查询之前,您无法获得mysql_insert_id()。
mysqli_autocommit($link, FALSE);
$sql = "INSERT INTO posts (titel, post) VALUES ('".$titel."', '".$post."')";
if (mysqli_query($link, $sql ) === TRUE) {
$postId = mysqli_insert_id($link);
$sql1 = "INSERT INTO post_categories (idposts) VALUES ('".$postId."')";
mysqli_query($link, $sql1 );
}
if (!mysqli_commit($link)) { //commit transaction
print("Table saving failed");
exit();
}
您不能同时使用mysqli_query执行两个查询,而应使用mysqli_multi_query,如果您真的想这样做