当检查复选框时,我有两个查询必须在不同表上删除行。问题是只执行其中一个查询而忽略另一个。
这是代码:
if(isset($_POST["che".$i.""])){
$query4 = "DELETE FROM gastos WHERE id_dedicaciondos = $idded AND id_usuario=$idu;";
$query4 .= "DELETE FROM dedicacio WHERE id_dedicacion = $idded AND id_usuario=$idu;" ;
if(mysqli_multi_query($connexio,$query4)){
do{
if ($result = mysqli_store_result($connexio)) {
mysqli_free_result($result);
}
}while(mysqli_next_result($connexio) && mysqli_more_results($connexio));
}
}
仅从第二个查询中删除行...如果我更改查询的顺序,结果完全相同,仅从查询“delete from dedicacio”中删除。
我能做些什么?
提前致谢
更新
我试过下一个:
if(isset($_POST["che".$i.""])){
$query4 = "DELETE FROM gastos WHERE id_dedicaciondos = ".$idded.";";
$query5 = "DELETE FROM dedicacio WHERE id_dedicacion = ".$idded.";";
if(mysqli_query($connexio,$query4)){
echo "YES!";
}
if(mysqli_query($connexio,$query5)){
echo "YES2!";
}
}
它显示“是!” 和“YES2!” 但查询不会删除“gastos”表上的任何内容:(
更新
我自己解决了在引用 id_dedicacions 的 id_dedicaciondos 中添加“ON DELETE CASCADE”。