In one of my script i use one mysqli_multi_query for some delete operation and then one mysqli_multi_query() for some insert operation. But i am getting following error. "Commands out of sync; you can't run this command now". How can i solve it. Here is my code snippet.
$resourceDeleteSql = "";
$resourceDeleteSql .= "Delete from acl_mr where group_id = $group_id ;";
$resourceDeleteSql .= "Delete from acl_mpr where group_id = $group_id ;";
$resourceDeleteSql .= "Delete from acl_mpfr where group_id = $group_id ;";
$resourceDeleteSqlResult = mysqli_multi_query($con, $resourceDeleteSql) or die(mysqli_error($con));
if ($resourceDeleteSqlResult) {
$resourceInsertSql = '';
foreach ($resource as $moduleKey => $module) {
if (is_array($module)) {
foreach ($module as $pageKey => $page) {
if (is_array($page)) {
foreach ($page as $field) {
$resourceInsertSql .= "INSERT INTO acl_mpfr (group_id ,field_sys_name ,page_sys_name,module_sys_name) VALUES ( '$group_id', '$field', '$pageKey', '$moduleKey');";
}
} else {
$resourceInsertSql .= "INSERT INTO acl_mpr (`group_id` ,`page_sys_name`,`module_sys_name`) VALUES ( '$group_id','$page', '$moduleKey');";
}
}
} else {
$resourceInsertSql .= "INSERT INTO acl_mr (`group_id` ,`module_sys_name`) VALUES ( '$group_id', '$module');";
}
}
$resourceInsertSqlResult = mysqli_multi_query($con, $resourceInsertSql) or die(mysqli_error($con));