query wordt niet uitgevoerd, maar geeft geen errors

Status
Niet open voor verdere reacties.

williewonka

Gebruiker
Lid geworden
5 aug 2011
Berichten
21
hallo allemaal,

zoals de titel al zegt heb ik een query en die krijg ik niet uitgevoerd. Dit is de query:
[SQL]DELETE FROM inlog WHERE 'naam' = 'jan'[/SQL]
het vreemde is dat ik geen errors terugkrijg. De query klopt dus wel en volgens mijn code wordt hij ook gestuurd, maar er wordt geen rij uit mijn tabel verwijdert. de php code:
PHP:
$result3 = mysql_query($sql);
if (!$result3) {
die('query niet uitgevoerd: ' . mysql_error());
} else {
echo 'veranderingen doorgevoerd!<br>';
echo 'klik <a href = "index.php?page=control">hier</a> om terug te gaan naar de controlpanel<br>';
}
Hierbij is $sql de query zoals hierboven staat.
ik krijg dus gewoon netjes de laatste 2 echo's te zien, maar als ik dan terug ga dan zie ik de rij gewoon nog staan en volgens phpadmin staat de rij er ook nog (dus geen ophaal fout of zo van mijn pagina). Weet iemand hoe ik dit moet oplossen?
 
Als je een veldnaam aangeeft moet je dat doen met backticks, niet met aanhalingstekens:

[sql]
DELETE FROM inlog WHERE `naam` = 'jan'
[/sql]

Jouw query verwijdert alle rijen waar de tekst 'naam' gelijk is aan de tekst 'jan', wat niet zo vaak voor komt.
 
maar dat is ook de bedoeling. de query wordt samengesteld met een variable en de bedoeling is dat de rij met de naam jan verwijdert moet worden.
 
Maar dat is niet wat je doet. Je vergelijkt 'jan' niet met de rij naam maar met de tekst naam. En het woord naam is nooit hetzelfde als het woord jan. Als je de rij naam wil vergelijken met jan, dan moet je naam tussen backticks zetten, dus `naam`
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan