2013-07-10 1 views
0
내가 여러 행을 선택하고 그들 모두를 삭제하기 위해 여러 확인란이있는 양식을 사용하고

의 행을 삭제할 수 없습니다, 나는 그것을 위해 사용하는 코드입니다 . 도움이 필요하십니까?는 MySQL의

+0

'$ q_borrar'를 출력하십시오. 아마 MySQL이 맞지 않을 것입니다. 또한 SQL 주입 공격을받을 수 있습니다. –

+1

$ valor – bugwheels94

+0

의 사용법은'mysqli_query ($ con, $ q_borrar) 또는 die (mysqli_error());를 추가하십시오. – DevZer0

답변

0

이런 것들? 이 화재 때문에

mysqli_query($q_borrar, $con); 

또한 내가 foreach는 말에 header()를 제거 것이며 가능성이 있습니다 : mysql_query부터 좋아

foreach ($_POST["borrar_usuario"] as $valor){ 
    $del_user = $valor; 
    $q_borrar = "delete from usuarios where id_user in ('$del_user')"; 
    mysqli_query($con, $q_borrar); 
    echo "usuario borrado"; 
    header('refresh: 3; url= exito.php'); 
} 
0

두 개의 매개 변수 쿼리를 받아 당신이 그들을 잘못 연결, 그것은해야 모든 데이터가 삭제되는 것은 아닙니다.

이것은 모두 $ deluser 변수가 ok라고 가정하고 은 검색어 전에 모든 데이터를 이스케이프 처리하도록 제안합니다.

0

포스트 [ 'borrar_usuario는'] 배열 인 경우에 당신은 당신이 foreach() 기능의 header() 외부에 배치해야

// applied mysql_real_escape string 
$del_user = array_map(function($var){return mysql_real_escape_string($var); } ,$_POST["borrar_usuario"]); 
$delUserList = implode("','",$del_user)."'"; 
$q_borrar = "delete from usuarios where id_user in ($delUserList)"; // please check SQL before executing 
mysqli_query($con, $q_borrar); 
echo "usuario borrado"; 
header('refresh: 3; url= exito.php'); 
0

에서의 인용 부호의 값을 내파 할 수 있습니다.

$deleteItems = $_POST['items']; 
foreach ($deleteItems as $s) 
{ 
    $str = $s; 
    mysqli_query($con,"DELETE FROM table WHERE id='$str'")or die(mysqli_error($con)); 
} 
header("location: manage_menu.php"); 
exit();