login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Fout met UPDATE query (Opgelost)

Offline tbsites - 22/09/2007 11:04
Avatar van tbsitesOnbekend Hallo ik heb deze code:

  1. <?php
  2. //connect
  3.  
  4. $open_table = mysql_query("SELECT * FROM page2 WHERE id= ".$_GET['id']) or die (mysql_error());
  5. while ($gegevens = mysql_fetch_array($open_table))
  6. {
  7. $stitel = $gegevens['title'];
  8. $stime = $gegevens['date'];
  9. $sdoor = $gegevens['door'];
  10. $sbericht = $gegevens['bericht'];
  11. }
  12. if(isset($_POST['verzenden']))
  13. {
  14. $stitel = addslashes($_POST['titel']);
  15. $sdoor = addslashes($_POST['door']);
  16. $stijd = addslashes($_POST['tijd']);
  17. $sbericht = ($_POST['bericht']);
  18. $spostid = addslashes($_POST['postid']);
  19.  
  20. mysql_query("UPDATE page2 (title, door, date, bericht, page_id) VALUES ('".$stitel."', '".$sdoor."', '".$stijd."', '".$sbericht."', '".$spostid."')") or die (mysql_error());
  21.  
  22. echo 'Je gegevens zijn succesvol in de database geplaatst';
  23. }
  24. else
  25. {
  26. ?>
  27. <form action="admin.php?page=toevoegen2" method="POST">
  28. Titel: <input type="text" name="titel" value="<? echo $stitel; ?>"><br />
  29. Door: <input type="text" name="door" value="<? echo $sdoor; ?>"><br />
  30. Tijd: <input type="text" name="tijd" value="<? echo $stime; ?>"><br />
  31. Page-ID: <input type="text" name="postid" value="<? echo $_GET['id'] ?>"><BR />
  32. <textarea id="elm1" name="bericht" rows="15" cols="80" style="width: 100%">
  33. <? echo $sbericht; ?>
  34. </textarea>
  35. <br />
  36.  
  37.  
  38. <input type="submit" name="verzenden" value="verzenden">
  39. </form>
  40. <?
  41. }
  42. ?>


maar helaas update hij de query niet wat doe ik fout?

28 antwoorden

Gesponsorde links
Offline Chupskie - 22/09/2007 11:17 (laatste wijziging 22/09/2007 11:19)
Avatar van Chupskie MySQL beginner Omdat een UPDATE query niet hetzelfde is als een INSERT query ;)

Probeer is deze manier:
  1. mysql_query("UPDATE page SET naam='naam' WHERE id='1'") or die (mysql_error());


ipv
  1. mysql_query("UPDATE page2 (naam) VALUES ('".$naam."') ") or die (mysql_error());


Succes
Offline tbsites - 22/09/2007 12:58
Avatar van tbsites Onbekend ja maar hoe moet ik dat doen met variabele
Offline Koen - 22/09/2007 13:03 (laatste wijziging 22/09/2007 13:20)
Avatar van Koen PHP expert
  1. <?php
  2. //connect
  3.  
  4. $open_table = mysql_query("SELECT * FROM page2 WHERE id= ".$_GET['id']) or die (mysql_error());
  5. while ($gegevens = mysql_fetch_array($open_table))
  6. {
  7. $stitel = $gegevens['title'];
  8. $stime = $gegevens['date'];
  9. $sdoor = $gegevens['door'];
  10. $sbericht = $gegevens['bericht'];
  11. }
  12. if(isset($_POST['verzenden']))
  13. {
  14. $stitel = addslashes($_POST['titel']);
  15. $sdoor = addslashes($_POST['door']);
  16. $stijd = addslashes($_POST['tijd']);
  17. $sbericht = ($_POST['bericht']);
  18. $spostid = addslashes($_POST['postid']);
  19.  
  20. mysql_query("UPDATE `page2` SET `title` = '".$stitel."', `door` = '".$sdoor."', `date` = '".$stijd."', `bericht` = '".$sbericht."', `page_id` = ".$spostid." WHERE `weetikveel` = 'weetikveel'") or die (mysql_error());
  21.  
  22. echo 'Je gegevens zijn succesvol in de database geplaatst';
  23. }
  24. else
  25. {
  26. ?>
  27. <form action="admin.php?page=toevoegen2" method="POST">
  28. Titel: <input type="text" name="titel" value="<? echo $stitel; ?>"><br />
  29. Door: <input type="text" name="door" value="<? echo $sdoor; ?>"><br />
  30. Tijd: <input type="text" name="tijd" value="<? echo $stime; ?>"><br />
  31. Page-ID: <input type="text" name="postid" value="<? echo $_GET['id'] ?>"><BR />
  32. <textarea id="elm1" name="bericht" rows="15" cols="80" style="width: 100%">
  33. <? echo $sbericht; ?>
  34. </textarea>
  35. <br />
  36.  
  37.  
  38. <input type="submit" name="verzenden" value="verzenden">
  39. </form>
  40. <?
  41. }
  42. ?>


dit is de juiste code
Offline Chupskie - 22/09/2007 13:06 (laatste wijziging 22/09/2007 13:07)
Avatar van Chupskie MySQL beginner Hetzelfde als je normaal doet.

Standaard opbouw:
  1. UPDATE tabelnaam SET kolom1='waarde1', kolom2='waarde2' WHERE kolom3='waarde3'


Jouw voorbeeld, zal dus zoiets moeten worden:
  1. mysql_query("UPDATE page2 SET title='".$stitel."', door='".$sdoor."', date='".$stijd."', bericht='".$sbericht."', page_id='".$spostid."' WHERE id='".$_POST['id']."' ") or die (mysql_error());


Zie: Sima Update Tutorial voor meer info 

Succes 
edit: iemand was me voor.. mjah, nu moet je er wel uitkomen 
Offline tbsites - 22/09/2007 13:18
Avatar van tbsites Onbekend Oke ik heb nu dit:

  1. mysql_query("UPDATE `page2` SET `title` = '".$stitel."', `door` = '".$sdoor."', `date` = '".$stijd."', `bericht` = '".$sbericht.", `page_id` = ".$spostid." WHERE id= ".$_GET['id']) or die (mysql_error());
maar dan krijg ik de volgende error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Offline Koen - 22/09/2007 13:20
Avatar van Koen PHP expert Ok foutje ;o
:p
er staat ergens in je query
`bericht` = '".$sbericht."
gewoon een ' achter zetten,
dus `bericht` = '".$sbericht."'
Offline tbsites - 22/09/2007 13:22
Avatar van tbsites Onbekend dat haalt niks uit het is de WHERE
Offline Chupskie - 22/09/2007 13:22 (laatste wijziging 22/09/2007 13:23)
Avatar van Chupskie MySQL beginner Of die van mij knippen en plakken, en het werkt ook  

Edit: ja je zult die where bij beide voorbeelden nog wel moeten aanpassen naar jou systeem ja.
Offline tbsites - 22/09/2007 13:24
Avatar van tbsites Onbekend werkt ook niet
Offline Koen - 22/09/2007 13:25
Avatar van Koen PHP expert
tbsites schreef:
dat haalt niks uit het is de WHERE

Met die where is niets fout hoor.
gebruik mijn code (ondertussen gefixt) moet werken, er staat alleszins geen syntax fout meer in.
Offline Chupskie - 22/09/2007 13:25
Avatar van Chupskie MySQL beginner Wat werkt er niet? Wat is je code nu? En wat is de foutmelding nu?
Offline tbsites - 22/09/2007 13:27
Avatar van tbsites Onbekend het is jouw code ik heb POST veranderd in GET de foutmelding: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Offline Koen - 22/09/2007 13:28
Avatar van Koen PHP expert Gebruik de code die ik zei dan en verander WHERE `weetikveel` = 'weetikveel' in wat jij gebruikt.
Offline tbsites - 22/09/2007 13:37
Avatar van tbsites Onbekend Ik heb nu dit:

  1. ("UPDATE `page2` SET `title` = '".$stitel."', `door` = '".$sdoor."', `date` = '".$stijd."', `bericht` = '".$sbericht."', `page_id` = ".$spostid." WHERE `id` = ".$_GET['id']) or die (mysql_error());
maar dan krijg ik de volgende error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Offline Koen - 22/09/2007 13:40
Avatar van Koen PHP expert
  1. $qry = mysql_query("UPDATE `page2` SET `title` = '".$stitel."', `door` = '".$sdoor."', `date` = '".$stijd."', `bericht` = '".$sbericht."', `page_id` = ".$spostid." WHERE `id` = ".$_GET['id']) or die (mysql_error());
  2. echo $qry;

wat geeft hij zo?
Offline tbsites - 22/09/2007 13:43
Avatar van tbsites Onbekend geeft hetzelfde
Offline Koen - 22/09/2007 13:45
Avatar van Koen PHP expert Nee wat echo't hij?
Offline tbsites - 22/09/2007 13:46
Avatar van tbsites Onbekend You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Offline Koen - 22/09/2007 13:53
Avatar van Koen PHP expert
  1. $qry = "UPDATE `page2` SET `title` = '".$stitel."', `door` = '".$sdoor."', `date` = '".$stijd."', `bericht` = '".$sbericht."', `page_id` = ".$spostid." WHERE `id` = ".$_GET['id'];
  2. echo $qry;

bedoelde ik, doe zo eens
Offline Stijn - 22/09/2007 13:53
Avatar van Stijn PHP expert Doe eens een edit in je phpmyadmin in dezelfde tabel. Wanneer je edit krijg je de SQL code op je scherm. Je moet eens vergelijken met je query die php maakt. Je zal dan direct de fout zien 
Offline tbsites - 22/09/2007 13:54
Avatar van tbsites Onbekend hetzelfde
Offline Koen - 22/09/2007 13:56
Avatar van Koen PHP expert hij moet je query echo'en hoor, heb je gedaan wat ik zei?
Offline tbsites - 22/09/2007 13:58 (laatste wijziging 22/09/2007 13:59)
Avatar van tbsites Onbekend ja dan krijg ik dat(You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1)
Offline zointer - 22/09/2007 14:25
Avatar van zointer HTML gevorderde Verander het veldnaam date eens naar datum
Offline Stijn - 22/09/2007 14:46
Avatar van Stijn PHP expert date is geen gereserveerd woord hoor zointer.

@tbsites: Wat zegt phpmyadmin en wat zegt de php code? Geef eens die twee outputs.
Offline tbsites - 22/09/2007 14:54 (laatste wijziging 22/09/2007 14:55)
Avatar van tbsites Onbekend hoe bedoel je met phpmyadmin??

Als script krijg ik eerst gewoon het forum(dat doet het) en als ik op verzenden druk krijg ik de error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Offline Stijn - 22/09/2007 15:05
Avatar van Stijn PHP expert
  1. $qry = "UPDATE `page2` SET `title` = '".$stitel."', `door` = '".$sdoor."', `date` = '".$stijd."', `bericht` = '".$sbericht."', `page_id` = ".$spostid." WHERE `id` = ".$_GET['id'];
  2. echo $qry . '<br />';

Plak de output eens hier 

Van phpmyadmin bedoel ik. Ga eens naar page2 tabel en edit daar eens een rij. Als je op de edit knop drukt zie je de SQL code bovenaan staan die uitgevoerd is. Als die niet overeen komt met die $qry dan heb je iets mis hé .
Offline tbsites - 22/09/2007 15:19 (laatste wijziging 23/09/2007 08:43)
Avatar van tbsites Onbekend Ik krijg met jouw code weer een error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 

als ik wat edit met phpmyadmin krijg ik:

  1. SQL-query:
  2. UPDATE `page2` SET `bericht` = '<p>Welkom op <em>TBSites<img src="jscripts/tiny_mce/../../../../../../../../mysql/admin/jscripts/tiny_mce/plugins/emotions/images/smiley-cool.gif" border="0" alt="Cool" title="Cool" /></em></p>EDIT!' WHERE `id` =1 LIMIT 1 ;


EDIT: al opgelost miste boven aan de code een "
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.436s