login  Naam:   Wachtwoord: 
Registreer je!
 Forum

dynamische update query

Offline roy - 10/07/2008 21:24 (laatste wijziging 10/07/2008 21:36)
Avatar van royPHP gevorderde Beste,

Ik wil een dynamische update-query maken. Maar er gaat ik onderstaande code iets fout!

Alle parameters bevatten de juiste waarde..

  1. function updateItemById($table, $postArray, $id)
  2. {
  3. echo $sQuery = "UPDATE
  4. $table
  5. SET".
  6. $i = 1;
  7. foreach ($postArray as $key => $value)
  8. {
  9. if($i == count($postArray))
  10. {
  11. $key."='".mysql_real_escape_string($value)."'";
  12. }
  13. else
  14. {
  15. $key."='".mysql_real_escape_string($value)."',";
  16. }
  17. $i++;
  18. }"
  19. WHERE
  20. id = '".intval($id)."'
  21. ";
  22.  
  23. $rs = $this->conn->Execute($sQuery);
  24. return true;
  25.  
  26. }


Heeft iemand een idee wat fout gaat?

groeten,

6 antwoorden

Gesponsorde links
Offline Tuinstoel - 10/07/2008 21:38
Avatar van Tuinstoel PHP expert Euh je query? Niet kloppend? Je onderbreekt hem ;)...
Offline roy - 10/07/2008 21:39 (laatste wijziging 10/07/2008 21:40)
Avatar van roy PHP gevorderde waar??

Offline Ultimatum - 10/07/2008 21:49
Avatar van Ultimatum PHP expert Wat is de uitkomst van $query dan, dan zie je toch of je query fout is of niet?

Ik zou zelf trouwens alles binnen die foreach in een array drukken en dan dmv implode aan elkaar plakken en dan op de juiste plaats zetten, dus zoiets:
UPDATE table SET [array] ....

In plaats van nu alles inclusief je foreach in dezelfde var gooien.
Offline roy - 10/07/2008 21:58 (laatste wijziging 10/07/2008 22:16)
Avatar van roy PHP gevorderde maar $postArray is al een array()

dus hoe zou ik dat kunnen doen dan??

want ik wil ze in combinatie hebben met key en value..
want niet alle kolommen worden geupdate..
Offline djb - 11/07/2008 02:05 (laatste wijziging 11/07/2008 13:19)
Avatar van djb PHP beginner je maakt in je foreach loop je sQuery niet af  (geloof ik hoor )

  1. $key."='".mysql_real_escape_string($value)."'";


zou dan dit woorden:

  1. $sQuery .= $key."='".mysql_real_escape_string($value)."'";


ik denk dat dat het is hoor (ik denk het want ik doe het nooit zo )
Offline Berten - 11/07/2008 09:58
Avatar van Berten PHP beginner ik zou ook de for lust uit de constructie van je sQuery string halen.

en dan via $sQuery .= $key."='".mysql_real_escape_string($value)."'";
elke keer een stuk er bijaan kleven

on der de $i++ vergeet je trouwens een . tussen }"
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.227s