- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problemi con controllo su avvenuta query
-
Problemi con controllo su avvenuta query
Ciao, probabilmente è una stupidata ma oggi son un po' rinco****to e non vedo l'errore.
<?
include('include/config.inc.php');
if (strtoupper($_SERVER['REQUEST_METHOD']=='POST')){
$email=$_POST['email'];
$output='';
$sql="DELETE FROM membri WHERE mem_email='$email' LIMIT 1";
$risultato = mysql_query($sql);if($risultato) {$output='Sei stato cancellato.';}
else {$output='non sei stato cancellato';}
}
?>Perchè mi da sempre il primo caso ovvero Sei stato cancellato anche se metto un nome non presente ne database? Grazie ciao Simone.
-
Ciao Symon83,
Perchè controlli che la funzione sia stata eseguita.
Per controllare quanti record ha coinvolto l'operazione dei usare la funzione mysql_affected_rowsManuale php:
http://www.php.net/manual/en/function.mysql-affected-rows.php
-
Ah, comunque faccio così perchè se inserisco una mail e viene cancellata allora mi va nell'if, altrimenti se non è andatoa buon fine perchè ad esempio la mail non è presente nel database va nell'else..o meglio dovrebbe andarci ma non va. Sbaglio?
@Thedarkita said:
Ciao Symon83,
Perchè controlli che la funzione sia stata eseguita.
Per controllare quanti record ha coinvolto l'operazione dei usare la funzione mysql_affected_rows
-
Si è errato...
Devi usare la funzione che ti ho scritto prima...
Restituisce sempre true la funzione mysql_query indipendentemente da quanti record sono stati coinvolti nell'operazione.
-
Ahhh ok! Ecco perchè io avevo già usato sta cosa però con altre funzioni, infatti andava non sapevo che restituisse sempre true questa.Grazie ciao!
@Thedarkita said:
Si è errato...
Devi usare la funzione che ti ho scritto prima...
Restituisce sempre true la funzione mysql_query indipendentemente da quanti record sono stati coinvolti nell'operazione.