Newsgroup: it.comp.www.php
Titolo: Delete con chiave alfanumerica

Ciao a tutti,
questo chi me lo spiega??
L'istruzione seguente,
          DELETE FROM Utenti WHERE Username = "qw";
da' il seguente erroe:
          Unknown column 'qw' in 'where clause'
mentre se Username e' numerico
          DELETE FROM Utenti WHERE Username = "123";
nessun errore.
La tabella ha tre campi alfanumerici con Username chiave primaria e univoca.
Grazie in anticipo.
        MAX
--
Crosspost su it.comp.software.database e it.comp.www.php
--

 ha scritto nel messaggio
news:c4j5c2$9fn$1...@newsreader.mailgate.org...

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.642 / Virus Database: 410 - Release Date: 24/03/2004

>           DELETE FROM Utenti WHERE Username = "qw";
Alla prossima.
        MAX

 ha scritto nel messaggio
news:c4j6ab$9fn$2...@newsreader.mailgate.org...



 DELETE FROM Utenti WHERE Username = 'qw';
Sorry, ma cosa dovrebbe cambiare??
Alla prossima.
        MAX
p.s. cmq non funzia neanche con gli apici.


:Provate a guardare gli ingredienti del famoso Labello che si usa per
:le labbra screpolate: Butirrospermum Parkii (sperma di maiale).

 
Negativo, anche  con gli apici singoli, problema resta.
Alla prossima.
        MAX.

Negativo, anche  con gli apici singoli, problema resta.
Allora il problema non e' MySQL ma e' nel codice PHP. Posta quello.
Prova anche a fare la stessa query da MySQL a linea di comando, e vedi
cosa succede.


 cosa succede.
Ho usato SQL di PhpMyAdmin copiandoci il mio codice e l'errore e' lo stesso.
Il bello e' che se elimino il record da PhpMyAdmin funziona, mentre se copio
il codice generato dal programma nel mio script, non funziona.
Alla prossima.
        MAX

Non e' sicuramente una questione di apici.
Cosi' sicuro tu sei, giovane Jedi? :-)
Prova a fare stampare il valore di $_POST['ID_Username'], o meglio ancora:
	print "<HR /><TT>$dati</TT><HR/>";
Non e' che, puta caso, ce l'hai *gia'* fra apici... oppure ID_Username non
e' il campo giusto?
Di sicuro c'e' che *SE* a MySQL io mando
	DELETE FROM Utenti WHERE (Username='lserni');
allora MySQL funziona perfettamente.
E ne deduco che dentro $_POST['ID_Username'] non c'e' quello che pensi che
ci sia.


 
Certo maestro Joda, leggiti il nuovo post :)
Alla prossima.
        MAX


Funziona benissimo.
mysql> create table Utenti (Username varchar(20));
Query OK, 0 rows affected (0.01 sec)
mysql> insert into Utenti VALUES ("qw"), ("123");
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0
mysql> select * from Utenti;
+----------+
| Username |
+----------+
| qw       |
| 123      |
+----------+
2 rows in set (0.00 sec)
mysql> DELETE FROM Utenti WHERE Username = "qw";
Query OK, 1 row affected (0.00 sec)
mysql> select * from Utenti;
+----------+
| Username |
+----------+
| 123      |
+----------+
1 row in set (0.00 sec)
Mi Sa che stai omettendo qualcosa nella tua richiesta...
Visto che hai citato il PHP, magari hai qualcosa del tipo:
$utente = "qw";
$query = "DELETE FROM Utenti WHERE Username = $utente"
Tu vedi che $utente vale "qw" e credi che le virgolette vengano 
riportate nella query, e invece non e' cosi', perche' le virgolette sono 
solo nella sintassi del tuo script, ma non fanno parte della variabile.
Prova con:
$utente = "qw";
$query = "DELETE FROM Utenti WHERE Username = '$utente' "
Ciao
gmax
-- 
   ____ ____  _____ _   _
  / _  |    \(____ ( \ / )
( (_| | | | / ___ |) X (
  \___ |_|_|_\_____(_/ \_)
(_____|
Sapere, saper fare, fare, far sapere
http://gmax.oltrelinux.com
Speaker at the 2nd MySQL Users Conference, Orlando, FL, 2004
http://www.mysql.com/events/uc2004/schedule-wednesday.html




domanda stupida
sicuro che nel db c'è 'qw' e non 'qw ' ?
