2013-07-05 115 views
0

我需要删除以生成一个表单,以在用户想要从数据库中删除的复选框中进行选择。要搜索用户,并生成表单我使用此代码:我无法删除mysql数据库中的字段

<?php 
$con = new mysqli('localhost', 'root', '', 'prueba'); 
$busqueda =""; 
$busqueda=$_POST['busqueda'] ; 
// funcion para convertir el contenido de un array en un string 
function makestring($array) 
    { 
    $outval = ''; 
    if (is_array($array)) { 
    foreach($array as $key=>$value) 
    { 
    if(is_array($value)) 
     { 
     $outval = makestring($value); 
     } 
    else 
     { 
     $outval = $value; 
     } 
    } 
} 

    return $outval; 
    } 

if ($busqueda!=""){ 
    $busca = mysqli_query($con, " SELECT usuario FROM usuarios WHERE 
     usuario LIKE '%$busqueda%'"); 
    echo "<form action='borrar.php' method='post' enctype='multipart/form-data'>"; 
    while ($array= mysqli_fetch_array($busca)){ 

     $user=makestring($array); 
      echo"Usuario: <input type='checkbox' name='borrar_usuario[]' value='$user' />$user<br/>"; 
    } 
    echo " <input type='submit' name='boton' value='eliminar' />"; 

    echo "</form>"; 
} 
$all =$_POST['todos'] ; 
if ($all=='borrar_todos'){ 

    $busca = mysqli_query($con, "select usuario from usuarios "); 
    echo "<form action='borrar.php' method='post' enctype='multipart/form-data'>"; 
    while ($f = mysqli_fetch_array($busca)){ 
     $user=makestring($f); 
     echo "Usuario: <input type='checkbox' name='borrar_usuario[]' value='$user' />$user<br/>"; 
    } 
    echo " <input type='submit' name='boton' value='eliminar' />"; 
    echo "</form>"; 
} 

?> 

我使用此代码使用此代码收集表单中的数据:

<?php 

$con = new mysqli('localhost', 'root', '', 'prueba'); 

if(isset($_REQUEST["borrar_usuario"])) { 
    $del_user = $_POST["borrar_usuario"]; 
    $mensaje = "¿Está seguro que quiere eliminar el usuario <b>$row[usuarioNombre]</b>?"; 
} 
// mostramos el mensage 
echo $mensaje; 
    mysqli_query($con, "delete usuario, password, descripcion from usuarios 
     where usuario in like '$del_user'"); 
    echo "usuario borrado"; 
    header('refresh: 3; url= exito.php'); 
?> 

但它不会删除任何东西数据库。请帮忙吗?

+2

您不能使用'DELETE'擦除数据库中的_fields_,'DELETE'只会删除整个_rows_。 –

回答

0

如果你想清空一个或多个字段,你需要使用update usuarios set usuario = '', password = '', descripcion = '' where usuario like '$del_user'"

0

尝试以此为删除查询

"delete from usuarios where usuario = '$del_user'" 
0

使用这个,如果你在一次删除一个用户:

delete from usuarios where usuario = '$del_user' 

或者这个,如果你删除更多的用户,并有逗号(,id分隔列表

delete from usuarios where usuario in ('$del_user') 
1

DELETE从数据库中删除整行。你的问题感觉就像你需要清空一些特定的领域。请尝试以下代码

mysqli_query($con, "UPDATE usuarios SET usuario = null, password =null, 
       descripcion=null where usuario like '$del_user'");