php/mysql update met implode

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Piet

piet

30/10/2009 21:16:00
Quote Anchor link
Ik wil via een implode een Mysql update query uitvoeren (zie het onderstaande) nu is mijn vraag mag ik dat op deze manier doen? Zo ja waarom werkt het onderstaande dan niet?



$news_SQL_update="UPDATE Wachtwoord SET Inlognaamidww in(".implode(',',$Inlognaam)."),Applicatie in(".implode(',',$Applicatie)."),AanpasDatum='$datum_knop',Omschrijving in(".implode(',',$Omschrijving).") WHERE Wachtwoord.Idww in(".implode(',',$Idwwall).") ";
 
PHP hulp

PHP hulp

22/12/2024 21:52:22
 
Gerben G

Gerben G

30/10/2009 21:50:00
Quote Anchor link
Wat zit er in je variables?
Echo je query eens, en wat komt er dan te staan?
 
Rens nvt

Rens nvt

30/10/2009 22:02:00
Quote Anchor link
Het gebruik van implode kan, maar let er wel op dat je altijd een gevulde array hebt. Bij een lege array kun je dit krijgen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
WHERE value IN ()

Wat een fout oplevert.

Jouw query gaat hoe dan ook niet werken overigens, IN() is bedoeld voor in je WHERE clause. Je probeert nu een waarde toe te kennen via <kolom> IN ('waarde1', 'waarde2'). Je query zou zoiets moeten zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
UPDATE    Wachtwoord
SET    Inlognaamidww = 'waarde',
    Applicatie = 'waarde',
    AanpasDatum = 'waarde',
    Omschrijving = 'waarde'
WHERE    Wachtwoord.Idww IN(1,2,3)

Zie: http://dev.mysql.com/doc/refman/5.0/en/update.html
Gewijzigd op 01/01/1970 01:00:00 door Rens nvt
 
Rafael

Rafael

31/10/2009 16:55:00
Quote Anchor link
Je opbouw is niet goed. implode gebruik je in een keer, niet om iedere keer een gedeelte uit te lezen...

Je verzameld alles na SET in een array en dan spuug je die in 1x uit.

als voorbeeld dus...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

$set
= array(
  'gebruikersnaam = \'gebruikersnaam\'',
  'wachtwoord = \'wachtwoord\'',
  'omschrijving = \'omschrijving\'',
);


$query = 'update tabelletje set ' . implode(',', $set) . ' where ww = wachtwoord';

?>


Dus ... ik weet niet wat je allemaal probeert, maar wat je probeert gaat wel tegen alle regels ook van sql in...?

Je moet ze iedere keer per setje verzamelen en uitvoeren en niet alles in 1 query stoppen.

PM als je wat meer uitleg wilt hebben, want dat wordt wat uitvoerig hier.
Gewijzigd op 01/01/1970 01:00:00 door Rafael
 



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.