我需要删除以生成一个表单,以便在复选框中选择要从数据库中删除的用户。要搜索用户并生成表单,我使用以下代码:
<?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');
?>
但它不会删除数据库中的任何内容。有什么帮助吗?
答案 0 :(得分:1)
DELETE删除数据库中的整行。您的问题感觉就像需要清空某些特定字段。请尝试以下代码
mysqli_query($con, "UPDATE usuarios SET usuario = null, password =null,
descripcion=null where usuario like '$del_user'");
答案 1 :(得分:0)
如果要清空一个或多个字段,则需要使用update usuarios set usuario = '', password = '', descripcion = '' where usuario like '$del_user'"
答案 2 :(得分:0)
尝试将其作为删除查询
"delete from usuarios where usuario = '$del_user'"
答案 3 :(得分:0)
如果您当时删除了一个用户,请使用此选项:
delete from usuarios where usuario = '$del_user'
或者如果您删除更多用户,并且逗号(id
)分隔列表中包含,
delete from usuarios where usuario in ('$del_user')