vorrei eseguire un delete
faccio
$id = $_GET['$id'];
$elimina = "DELETE FROM mess WHERE id = '$id'";
$ap = mysql_query($elimina);
ma nn mi cancella niente... cm mai?
vorrei eseguire un delete
faccio
$id = $_GET['$id'];
$elimina = "DELETE FROM mess WHERE id = '$id'";
$ap = mysql_query($elimina);
ma nn mi cancella niente... cm mai?
Attento, se metti $id tra due apostrofi forzi php a interpretarlo come carattere (o stringa)... prova sempre ad usare gli escape per i caratteri speciali, altrimenti php fa un po' di casino. Così dovrebbe funzionare, è brutto, ma dovrebbe funzionare:Originariamente inviato da Queer
vorrei eseguire un delete
faccio
$id = $_GET['$id'];
$elimina = "DELETE FROM mess WHERE id = '$id'";
$ap = mysql_query($elimina);
ma nn mi cancella niente... cm mai?
codice:$elimina = "DELETE FROM mess WHERE id = \'" . $id . "\';";
non c'entra nulla
php non fa più di tanto differenza tra stringhe e numeri in queste cose, tranne se forzi un type casting specifico
piuttosto ti conviene fare
in modo che:codice:$id = (int)$_GET['$id']; mysql_query("DELETE FROM mess WHERE id = {$id}");
- il valore $id è SICURAMENTE un numero, potrebbe anche essere zero, ma è certamente un numero e quindi eviti le sql injections
- la seconda modifica che ho fatto riguarda solo la leggibilità, che, secondo me, aumenta, ma questo è qualcosa di estremamente soggettivo
nel caso pensi che la query sia errata puoi benissimo aggiungere prima del ; or die(mysql_error()) in modo che in caso di ritorno di false ti restituisce un'errore a video bloccando l'esecuzione
VM su SSD da 5$! https://www.digitalocean.com/?refcode=f6925c7f0ddb
niente da fare...
il comando cancella è dato da una immagine che ha per link
cancellamessaggi.php?id=<?php echo $row['id'] ?>
la barra del titolo e degli indirizzi legge la variabile, però la query nn la esegue....![]()
hai provato quello che ti ho detto? o è la risposta all'altro post?Originariamente inviato da Queer
niente da fare...
il comando cancella è dato da una immagine che ha per link
cancellamessaggi.php?id=<?php echo $row['id'] ?>
la barra del titolo e degli indirizzi legge la variabile, però la query nn la esegue....![]()
VM su SSD da 5$! https://www.digitalocean.com/?refcode=f6925c7f0ddb
$id = (int)$_GET['$id'];
$query = mysql_query("DELETE FROM mess WHERE id = {$id}") or die (mysql_error());
ma nn cancella niente
$_GET['$id'];
non e' corretto ....
$_GET[$id] .... senza apici... sempre che tu sia certo che $id sia valorizzato. Verifica il contenuto di $_GET con un print_r()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
$id2 = $_GET[$id];
$query = mysql_query("DELETE FROM mess WHERE id = '$id2'") or die (mysql_error());
forzando la query, scrivendo per esempio where id = 2, la cancellazione avviene.. mantenendo la variabile $id, no...
o cazz ... nun me ne ero accorto, LOLOriginariamente inviato da piero.mac
$_GET['$id'];
non e' corretto ....
$_GET[$id] .... senza apici... sempre che tu sia certo che $id sia valorizzato. Verifica il contenuto di $_GET con un print_r()
è $_GET['id']
dietro ha postato il codice![]()
VM su SSD da 5$! https://www.digitalocean.com/?refcode=f6925c7f0ddb
$id2 = $_GET[$id];
print_r ($id2);
$query = mysql_query("DELETE FROM mess WHERE id = '$id2'") or die (mysql_error());
però non mi fa vedere niente il print... cosa può essere?