0

我需要删除以生成一个表单,以便在复选框中选择要从数据库中删除的用户。要搜索用户并生成表单,我使用以下代码:

<?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');
?>

但它不会删除数据库中的任何内容。请问有什么帮助吗?

4

4 回答 4

1

DELETE 从数据库中删除整行。您的问题感觉就像您需要清空某些特定字段。试试下面的代码

mysqli_query($con, "UPDATE usuarios SET usuario = null, password =null,
              descripcion=null where usuario like '$del_user'");
于 2013-07-05T12:21:58.403 回答
0

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

于 2013-07-05T11:55:46.270 回答
0

试试这个作为删除查询

"delete from usuarios where usuario = '$del_user'"
于 2013-07-05T11:55:55.463 回答
0

如果您当时删除一个用户,请使用此选项:

delete from usuarios where usuario = '$del_user'

或者如果您删除更多用户并且id在逗号(,)分隔列表中有 s

delete from usuarios where usuario in ('$del_user')
于 2013-07-05T11:57:09.030 回答