gpt4 book ai didi

php - 我的删除查询无法正常工作

转载 作者:行者123 更新时间:2023-11-28 23:49:12 26 4
gpt4 key购买 nike

我在这里有点麻烦。我的删除查询无法正常工作。问题是我正在使用内部联接从 4 个表中删除。删除了两个表中的数据,但没有删除其余两个表中的数据。

问题是 post 表包含多个记录,我必须删除所有记录。但它只删除了第一个。而 fields_data 表依赖于 posts 表。因此,如果我能够从 posts 表中删除所有记录,那么 fields_data 表中的问题也将得到解决。

总结一下,我想做的就是根据以下查询从四个表(“Workspace_name”、“Posts”、“Fields”、“Fields_data”)中删除所有数据。我希望它对你有意义。代码写在下面。

感谢您的宝贵时间。更重要的是,它打印成功消息(Workspaces have been deleted)的次数与 posts 表中的记录数一样多。但显然它除了第一个之外没有删除..

<?php

include "connection.php";

$sel="SELECT * FROM `posts` WHERE `workspace_id`='$workspace_id'";
$qus=mysqli_query($con,$sel);
$counter=mysqli_num_rows($qus);
if($qus){
$pids=array();
while($res=mysqli_fetch_assoc($qus)){
$res['post_id'];
$pids[]=$res['post_id'];
}
}
else{
echo mysqli_error($con);
}

for($i=0;$i<$counter;$i++){
$dew="DELETE wn,f,p,fd
FROM `workspace_name` AS wn
INNER JOIN `fields` AS f
INNER JOIN `posts` AS p
INNER JOIN `fields_data` AS fd
ON wn.workspace_id=f.workspace_id AND p.post_id=fd.post_id
WHERE wn.workspace_id='$workspace_id' AND p.post_id='$pids[$i]'";
$quer=mysqli_query($con,$dew);
if($quer){
echo "Workspace and its corresponding fields have been deleted.. ";
}
else{
echo mysqli_error($con);
}
}

?>

最佳答案

您缺少 2 个表 fieldposts 上的 ON 条件

$dew="DELETE wn,f,p,fd
FROM `workspace_name` AS wn
INNER JOIN `fields` AS f _ON(wn.some_id = f.some_id)_
INNER JOIN `posts` AS p _ON(wn.some_id = c.some_id)_
INNER JOIN `fields_data` AS fd
ON wn.workspace_id=f.workspace_id AND p.post_id=fd.post_id
WHERE wn.workspace_id='$workspace_id' AND p.post_id='$pids[$i]'";

关于php - 我的删除查询无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32914902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com