query DELETE non cancella i record

  • Creatore Discussione Creatore Discussione r33ky
  • Data di inizio Data di inizio

r33ky

Nuovo Utente
7 Apr 2022
2
0
1
PHP:
<?php
session_start();
include("config.php");
if (!isset($_SESSION['session_id'])){
      echo '<script>alert("non sei loggato")</script>';
      header("location:login.php");
}
if(isset($_GET["username"])){
    if($result=$conn->query("SELECT * FROM notifichenonlette WHERE tipo='mess' AND destinatario='".$_SESSION['username']."' AND mittente='".$_GET["username"]."'")){
        while($row=$result->fetch_assoc()){
            $conn->query("INSERT INTO nofichelette ('mittente','destinatario','tipo') VALUES('".$row["mittente"]."','".$row["destinatario"]."','".$row["tipo"]."')");
        }
        if($conn->query("DELETE FROM notifichenonlette WHERE 'mittente'='".$_GET["username"]."' AND 'destinatario'='".$_SESSION['username']."' AND 'tipo'='mess'")){
            echo $conn->error;
        }
    }
    $username=$_GET["username"];
}else{
    $username="";
}
?>
 
Ultima modifica di un moderatore:
le cause del mancato funzionamento possono essere diverse,
non sempre il codice che viene postato aiuta a comprendere un possibile errore
esempio, nella delete usi $_GET ma chi può verificare che sia necessario usare $_POST se non vediamo il codice da dove provengono i dati ?

dovresti imparare a scrivere il codice in modo da facilitare il debug,
per esempio dovresti generale la "delete" mettendola in una variabile in modo da visualizzarla (echo o simili) prima di eseguirla
in questo modo puoi renderti conto se il comando che passi a sql é valido o contiene errori
PHP:
$sql = "DELETE FROM notifichenonlette WHERE 'mittente'='".$_GET["username"]."' AND 'destinatario'='".$_SESSION['username']."' AND 'tipo'='mess'";

echo $sql;

if($conn->query($sql ......
 

Discussioni simili