login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Query werkt niet

Offline SomaQan - 15/08/2007 17:52 (laatste wijziging 15/08/2007 17:53)
Avatar van SomaQanPHP beginner Wat doe ik hier fout

  1. <?php
  2. include('config.php');
  3.  
  4. $sql = mysql_query("SELECT * FROM gilde") or die(mysql_error());
  5.  
  6. $i = 0;
  7. while ($var = mysql_fetch_object($sql)) {
  8. $i++;
  9. echo '<table>
  10. <tr>';
  11. echo '<td> ' . $i . ' <a href=gildepagina.php?gilde_id=' . htmlspecialchars($var->id) . '>-<b>
  12. ' . ucfirst(htmlspecialchars($var->gildnaam)) . '</b></a></td>';
  13.  
  14.  
  15. echo '</tr>
  16. </table>';
  17. }
  18. $querytje = mysql_query("SELECT * FROM gilde_leden WHERE gilde_id = ".$var->id." ")
  19.  
  20. if (mysql_num_rows($querytje) == 0) {
  21.  
  22. while ($show = mysql_fetch_object($querytje)) {
  23.  
  24. $gilde_id = htmlspecialchars($show->gilde_id);
  25. $querytje = "DELETE FROM gilde WHERE id = ".$gilde_id "";
  26. mysql_query($querytje) or die( mysql_error() );
  27.  
  28. }
  29. }
  30. ?>


Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/php on line 26

12 antwoorden

Gesponsorde links
Offline Babak - 15/08/2007 17:56
Avatar van Babak MySQL interesse ".$gilde_id "";

moet zo worden:

".$gilde_id."";

Je vergat het puntje.
Offline Koen - 15/08/2007 18:03
Avatar van Koen PHP expert Die quotes hoeven zelfs niet 
  1. <?php
  2. include('config.php');
  3.  
  4. $sql = mysql_query("SELECT * FROM gilde") or die(mysql_error());
  5.  
  6. $i = 0;
  7. while ($var = mysql_fetch_object($sql)) {
  8. $i++;
  9. echo '<table>
  10. <tr>';
  11. echo '<td> ' . $i . ' <a href=gildepagina.php?gilde_id=' . htmlspecialchars($var->id) . '>-<b>
  12. ' . ucfirst(htmlspecialchars($var->gildnaam)) . '</b></a></td>';
  13.  
  14.  
  15. echo '</tr>
  16. </table>';
  17. }
  18. $querytje = mysql_query("SELECT * FROM gilde_leden WHERE gilde_id = ".$var->id." ")
  19.  
  20. if (mysql_num_rows($querytje) == 0) {
  21.  
  22. while ($show = mysql_fetch_object($querytje)) {
  23.  
  24. $gilde_id = htmlspecialchars($show->gilde_id);
  25. $querytje = "DELETE FROM gilde WHERE id = ".$gilde_id;
  26. mysql_query($querytje) or die( mysql_error() );
  27.  
  28. }
  29. }
  30. ?>

moet werken
Offline Babak - 15/08/2007 18:05
Avatar van Babak MySQL interesse Nee.. want nou heb je voor gilde_id een ". en die heb je daarna niet.
Offline SomaQan - 15/08/2007 18:09
Avatar van SomaQan PHP beginner Ik krijg nu dit

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 Babak - 15/08/2007 18:10
Avatar van Babak MySQL interesse Somaqan, doe mijne eens dan!? 
Offline Ultimatum - 15/08/2007 18:12
Avatar van Ultimatum PHP expert
Babak schreef:
Nee.. want nou heb je voor gilde_id een ". en die heb je daarna niet.

Geen quotes om een int, en de TS had geen punt aan het einde en sliphead nu ook niet..
Offline Babak - 15/08/2007 18:14
Avatar van Babak MySQL interesse Dat zeg ik dus de hele tijd al.. die punt, maarja.. lijkt wel onzichtbaar.
Offline Koen - 15/08/2007 18:28 (laatste wijziging 15/08/2007 18:54)
Avatar van Koen PHP expert
Ultimatum schreef:
en sliphead nu ook niet..

mijn voorbeeld werkt iig.
tenzij je wilt beweren dat mijn scripts op mijn website niet werken, maar dat doen ze wel.
vb: http://www.site...1#id160936
Offline Babak - 15/08/2007 19:02
Avatar van Babak MySQL interesse Dat lag niet aan jouw reply, die heb ik niet eens gebruikt, daar had ik te maken met een lege Session.

Wat jij doet is beginnen met ". en niks daarachter, dat lijkt me toch echt fout.
Offline Simon - 15/08/2007 19:11 (laatste wijziging 15/08/2007 19:12)
Avatar van Simon PHP expert Babak, ik word ziek van betweters als jou. Zoek eerst op voor je iemand aanvalt
Aangezien id een integer is hoeven hier geen ."" na te staan
Voorbeeld
  1. mysql_query("SELECT ... WHERE id = ".$id) or die...

Dit hierboven is juist, en dit hieronder is ook juist, maar meer typwerk
  1. mysql_query("SELECT ... WHERE id = ".$id."") or die...

Het volgende is dan weer slecht want een integer is geen string:
  1. mysql_query("SELECT ... WHERE id = '".$id."'") or die...

Bij strings is dat dan wel weer nodig
  1. mysql_query("SELECT ... WHERE naam = '".$username."'") or die...


Dit zijn voorbeelden in query's maar dit telt natuurlijk ook bij gewone echo's en print's
Offline Ultimatum - 15/08/2007 19:25 (laatste wijziging 15/08/2007 19:27)
Avatar van Ultimatum PHP expert
babak schreef:
Dat zeg ik dus de hele tijd al.. die punt, maarja.. lijkt wel onzichtbaar.

Dat bedoelde ik niet. Ik bedoelde dat die punt helemaal niet nodig was.

sliphead schreef:
[..quote..]
mijn voorbeeld werkt iig.
tenzij je wilt beweren dat mijn scripts op mijn website niet werken, maar dat doen ze wel.
vb: http://www.site...1#id160936

Nee wat ik bedoelde is dat jij het wel goed deed en daarom er geen punt achter hoefde. Was geen kritiek maar het was tegen babak omdat hij denkt dat hij het goed heeft maar zoals Simon al aangeeft dus niet heeft omdat hij van een int een string wil maken.
Offline Babak - 15/08/2007 22:27
Avatar van Babak MySQL interesse Hmm, oke mijn fout. Kan gebeuren, excuses.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.247s