(我认为是)一个工作循环,通过迭代并得到正确的ID(通过的var_dump确认)我到目前为止是的,但我的SQL查询不拾取的ID为DELETE键。实质上,SQL查询正在删除id =数组迭代的当前id值。使用多个复选框。 var dump确认id与上传ID相匹配,但是我无法进行任何删除操作。下面的代码:的foreach PHP删除对mysql数据库
function submit_delete() {
if(!is_null($_POST['delete']) && !is_null($_POST['checkbox'])) { //Check to see if a delete command has been submitted.
//This will dump your checkbox array to your screen if the submit works.
//You can manually check to see if you're getting the correct array with values
// var_dump($_POST['checkbox']);//Comment this out once it's working.
$id_array = $_POST['checkbox'];
//var_dump($id_array);
deleteUploads($id_array);
}
else {
echo "Error: submit_delete called without valid checkbox delete.";//var_dump($_POST['checkbox']);
}
}
function deleteUploads ($id_array) {
if (count($id_array) <= 0) { echo "Error: No deletes in id_array!"; echo 'wtf'; }
//return; }//bail if its empty
require_once ('../mysqli_connect.php'); //Connect to the db
$delete_success = false; var_dump($delete_success);
foreach ($id_array as $id) { var_dump($id);
$remove = "DELETE FROM upload WHERE upload_id= $id";//AND `owner_id`=".$_SESSION['user_id'];
$result = mysqli_query ($dbc, $remove); // Run the query
//
////$mysqli->query($sql) or die(mysqli_error($mysqli));
if ($result) { $delete_success = true; var_dump($delete_success);}
mysqli_close($dbc);
}
if($delete_success == true) { echo 'done';
header('Location: newwriter_profile.php');
} else {
echo "Error: ".mysqli_error();
}
}
//Test deleteUploads (remove once you know the function is working)
//$test_ids = array();
//$test_ids[] = 5;//make sure this id is in the db
//$test_ids[] = 7;//this one too
submit_delete();
//deleteUploads($id_array);//should remove ids 10 and 9//
mysqli_close($dbc);
不应该在关闭之前至少产生一次删除操作? – V1GG3N 2012-07-13 12:13:39