Ik probeer volgens mij iets te doen wat niet echt kan, ik kom er in iedergeval niet echt uit. Hopelijk kan hier iemand mij vertellen hoe ik dit het beste kan oplossen :)
Ik wil een rij update in de user tabel, welke rij dat word is afhankelijk van de email die bij een token hoort. Die token en email staan in een tabel pwreset, nu kan je er natuurlijk 2 query's van maken. 1 om te kijken welke email er hoort bij de reset token, en daarna de update doen op de user tabel. Maar alles in 1 query verwerken lijkt mij wat beter :)
Iemand een idee hoe je dit in 1 Query zou kunnen verwerken? Ik heb wel het 1 en ander geprobeerd met inner join, maar ik kwam daar niet echt uit.
<?php
$sql = "SELECT email, token FROM pwreset WHERE token = :token";
$sql = "UPDATE css_users
SET
password = :pw_hash,
user_key = :user_key
WHERE email = :email";
?>
Vanwaar die dubbelpunten? Als dat variabelen zijn moet je er een $ voor zetten, en als 't een database veld is, dan zet je er niks voor.
Lees eens De basis van MySQL
De : zijn inderdaad van prepared statements van PDO :)
Ik heb de query geprobeerd maar dan krijg ik dit te zien
'SQLSTATE[21000]: Cardinality violation: 1241 Operand should contain 1 column(s)"
Ik heb daar is even opgezocht bij Google, en je vind wel aardig wat pagina's maar niet echt iets waarvan ik heel veel wijzer word. Er stond wel op 1 van de pagina's dat het er haakje verkeerd konden staan. Heb die om token=:token weggehaald, maar krijg nog steeds dezelfde melding.
De melding zeg ook wel dat er 1 column moet zijn, maar er zijn er toch echt 2 nodig in die sub-query, anders kan je nooit de email en token selecteren lijkt mij?
Vanwaar die dubbelpunten? Als dat variabelen zijn moet je er een $ voor zetten, en als 't een database veld is, dan zet je er niks voor.
Lees eens De basis van MySQL
[quote='Turmin schreef op 14.10.2009 11:59']Vanwaar die dubbelpunten? Als dat variabelen zijn moet je er een $ voor zetten, en als 't een database veld is, dan zet je er niks voor.
Lees eens De basis van MySQL
Oeps ;-)[/quote]
:-$
?
Onbekende gebruiker
15-10-2009 14:01
@Turmin: Ik zag de @-tjes voor mysql_*, dan klik ik hem al direct weg. Volgens mij is die tutorial zeer verouderd....
@Turmin: Ik zag de @-tjes voor mysql_*, dan klik ik hem al direct weg. Volgens mij is die tutorial zeer verouderd....
"De basis van MySQL Gepubliceerd door Markjuh op zaterdag 9 oktober 2004 12:43 "
Zegt genoeg ;-) Maar ging er even om dat ik dacht dat ie : fout waren en $ moesten zijn, dat zie je dus ook wel in die tut en was eerste die in google gaf. Maar ik moet eens wat over PDO gaan lezen.