【问题标题】:I can't delete fields in a mysql database我无法删除 mysql 数据库中的字段
【发布时间】:2015-07-12 22:45:01
【问题描述】:

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

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

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

【问题讨论】:

  • 您不能使用DELETE 删除数据库中的字段DELETE 只会删除整个

标签: php mysql forms checkbox sql-delete


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      试试这个作为删除查询

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

      【讨论】:

        【解决方案4】:

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

        delete from usuarios where usuario = '$del_user'
        

        或者如果您删除更多用户并在逗号(,)分隔列表中使用ids

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-10-08
          • 2017-11-21
          • 2021-05-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多