login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[SQL]Delete

Offline Erwt - 27/12/2007 19:51 (laatste wijziging 28/12/2007 14:26)
Avatar van ErwtPHP beginner http://plaatscode.be/4596/

[error=mysql]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM news WHERE id =' at line 1[/error]

7 antwoorden

Gesponsorde links
Offline lemoinet - 27/12/2007 20:06
Avatar van lemoinet PHP gevorderde http://dev.mysql.com/doc/refman/5.0/en/delete.html
Offline Abbas - 27/12/2007 20:07 (laatste wijziging 27/12/2007 20:07)
Avatar van Abbas Gouden medaille

Crew .NET
Uw excuses zijn niet nodig, dat was inderdaad de fout. Als $id een string is moet het zo:
  1. $query = "DELETE * FROM news WHERE id = ' " .$id. " ' ";
Anders is de oplossing van Sandernerd volledig juist! 
Offline Erwt - 27/12/2007 21:19 (laatste wijziging 27/12/2007 21:21)
Avatar van Erwt PHP beginner Bleh alvast bedankt natuurlijk alleen ben ik even aan het kijken hoe jullie dat hebben gedaan 

' " . $var . " '

Dat dus voor 1 variabele.. Kan iemand ook uitleggen waarom zo? 

En ik krijg nog steeds:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM news WHERE id =' at line 1
Offline DMM - 27/12/2007 23:34
Avatar van DMM PHP beginner Die * moet er niet bij. Het wordt dus zoiets:
  1. $query = "DELETE FROM news WHERE id = ' " .$id. " ' ";
  2. // vergeet dan ook je mysql_query(""); niet!
Offline Wim - 28/12/2007 02:43
Avatar van Wim Crew algemeen gebruik mss ook best PHP.net: mysql_real_escape_string
Offline DMM - 28/12/2007 13:04 (laatste wijziging 28/12/2007 14:34)
Avatar van DMM PHP beginner Je kunt ook nog controleren met PHP.net: is_numeric(). Dat wordt dan zoiets:
  1. if(is_numeric($id)) {
  2. $query = mysql_query("DELETE FROM news WHERE id = '".$id."'") or die(mysql_error());
  3. } else {
  4. echo 'Het id moet numeriek zijn';
  5. }

De waarde van $id haal je waarschijnlijk uit de url. Je hebt dan dergelijke constructie: www.example.com?id=X

Ik meen ooit eens gelezen te hebben dat Google pagina's met ID niet indexeert, je kunt misschien beter gebruik maken van paginaid, p, pid,...

Edit:
@ hieronder: de constructie met die int kende ik niet... Jouw code is dus korter en voert hetzelfde uit => beter 
Offline Stijn - 28/12/2007 14:23 (laatste wijziging 28/12/2007 14:29)
Avatar van Stijn PHP expert 7 antwoorden waarvan 1 correct (DMM) Als je de tutorials openslaat en kijkt bij mysql is er een tutorial over DELETE.

Daarnaast is een ID altijd een integer, dat is een regel. Dus je query is als volgt:

  1. $query = mysql_query("DELETE FROM news WHERE id=" . (int) $id) or die(mysql_error());
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.234s