Query goed of fout?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mike Z

Mike Z

07/06/2012 19:38:35
Quote Anchor link
Hallo,
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
 
PHP hulp

PHP hulp

22/12/2024 23:24:02
 
Koen Vlaswinkel

Koen Vlaswinkel

07/06/2012 19:40:59
Quote Anchor link
Je moet hier UPDATE gebruiken, en haal je variabelen buiten de quotes. UPDATE query: http://w3schools.com/sql/sql_update.asp
 
Mike Z

Mike Z

07/06/2012 19:49:38
Quote Anchor link
ik heb nu dit maar die werkt nog steeds niet:

UPDATE profiel SET $missie=$trytime WHERE id=$id
 
Koen Vlaswinkel

Koen Vlaswinkel

07/06/2012 19:55:01
Quote Anchor link
Probeer dit eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$query
= "UPDATE profiel SET " . $missie . "='" . $trytime . "' WHERE id='" . $id . "'";
?>

Ik weet niet of het helemaal klopt, want ik typ dit op mijn mobiel.
 
Erwin H

Erwin H

07/06/2012 20:01:28
Quote Anchor link
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 (`).
 
Mike Z

Mike Z

07/06/2012 20:02:40
Quote Anchor link
@Koen V het werkt nog steeds niet heb daarna wat gegoocheld met de ' en de " maar niks helpt.

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
 
Erwin H

Erwin H

07/06/2012 20:21:44
Quote Anchor link
Maar serieus advies, pas je kolomnamen aan. Gebruik niet 1 of 2 voor kolomnamen. Stel je wilt het id en de kolom 1 selecteren. Dan zou je dit moeten doen (backticks gebruiken dus):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT id, `1`
FROM profiel
WHERE....

Vergeet je echter de backticks, dan krijg je dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT id, 1
FROM profiel
WHERE....

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!
 
Mike Z

Mike Z

07/06/2012 20:32:34
Quote Anchor link
Ok zal het aanpassen maar ik zit nu met het volgende probleem als ik die waarde uit $missie wil ophalen:

"SELECT `$missie` FROM profiel WHERE id='$id'"

Dit werkt niet? Iemand enig idee?
 
Erwin H

Erwin H

07/06/2012 20:48:54
Quote Anchor link
Weet je zeker dat het aan de query ligt en niet aan de rest van je code eromheen?
 
Obelix Idefix

Obelix Idefix

07/06/2012 21:10:37
Quote Anchor link
En wat werkt er niet?

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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.