Query goed of fout?
Ik heb deze query gemaakt om de in de tabel profiel waar $id gelijk is aan id in de tabel, en waar de kolom $missie is (dit is een 1 of 2), de waarde van $trytime in te voegen. Dus hij moet de waarde in de kolom $missie zetten. Maar het probleem is nu dat hij niet werkt. Kan iemand mij vertellen wat ik hier fout doe?:
INSERT INTO profiel where id='$id' ('$missie') VALUES ('$trytime');
Gewijzigd op 07/06/2012 19:39:46 door Mike Z
UPDATE profiel SET $missie=$trytime WHERE id=$id
Code (php)
1
2
3
2
3
<?php
$query = "UPDATE profiel SET " . $missie . "='" . $trytime . "' WHERE id='" . $id . "'";
?>
$query = "UPDATE profiel SET " . $missie . "='" . $trytime . "' WHERE id='" . $id . "'";
?>
Ik weet niet of het helemaal klopt, want ik typ dit op mijn mobiel.
Mike dede op 07/06/2012 19:38:35:
waar de kolom $missie is (dit is een 1 of 2)
Lees ik nu goed dat je kolommen hebt met de naam '1' en '2'?
Onverstandig, niet doen! Geeft je alleen maar problemen.
Het kan wel, maar dan moet je de kolomnaam in een sql statement ALTIJD tussen backticks zetten (`).
Toevoeging op 07/06/2012 20:16:07:
opgelost! bedankt erwin en koen! Oplossing:
UPDATE profiel SET `$missie`='$trytime' WHERE id='$id'
Gewijzigd op 07/06/2012 20:03:45 door Mike Z
Vergeet je echter de backticks, dan krijg je dit:
Het probleem is, dit is ook een geldige query! Je krijgt hier namelijk de waarde 1 te zien in elke rij in de tweede kolom. En als dat een normale waarde is in je kolom dan heb je helemaal een probleem, hoe vind je dan de fout nog.
Echt, gebruik geen getallen voor kolomnamen!
"SELECT `$missie` FROM profiel WHERE id='$id'"
Dit werkt niet? Iemand enig idee?
Weet je zeker dat het aan de query ligt en niet aan de rest van je code eromheen?
Zorg voor foutafhandeling van je query.
Ga debuggen: als je je query echoot, staat er dan wat je zou verwachten? Werkt het wel als je direct in bv phpadmin de query uitvoert?
Variabelen normaal buiten quotes.