login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Error Mysql?

Offline Crain - 30/06/2006 21:51
Avatar van CrainNieuw lid Wat betekent;

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 '-50,50' at line 1

25 antwoorden

Gesponsorde links
Offline Gerard - 30/06/2006 21:52
Avatar van Gerard Ouwe rakker dat er een error in je query zit en dat je moet kijken naar -50,50 wat waarschijnlijk je LIMIT is en die dus geen negatieve getallen aankan.
Offline marten - 30/06/2006 21:53
Avatar van marten Beheerder glazen bol ----> quotes vergeten geen mysql_error() gebruikt en niet geprobeerd in phpmyadmin
Offline svm - 30/06/2006 21:53 (laatste wijziging 30/06/2006 21:54)
Avatar van svm PHP ver gevorderde Ik haal eruit dat er een fout op lijn 1 zit, het zit hem in het connecten denk ik.
Nieuwe versie aanvragen?
Vertaal anders gewoon, doe ik ook, ik weet namelijk NIKS van mysql.
Offline marten - 30/06/2006 21:56
Avatar van marten Beheerder post hier anders je query even 
Offline Crain - 30/06/2006 22:14 (laatste wijziging 30/06/2006 22:15)
Avatar van Crain Nieuw lid
  1. CREATE TABLE `Ledensysteem` (
  2. `id` int(11) NOT NULL auto_increment,
  3. `gebruikersnaam` varchar(255) NOT NULL default '',
  4. `wachtwoord` varchar(255) NOT NULL default '',
  5. `naam` varchar(255) NOT NULL default '',
  6. `email` varchar(255) NOT NULL default '',
  7. `geboortedatum` varchar(255) NOT NULL default '',
  8. `homepage` text NOT NULL,
  9. `msn` varchar(255) NOT NULL default '',
  10. `woonplaats` varchar(255) NOT NULL default '',
  11. `geslacht` varchar(255) NOT NULL default '',
  12. `berichten` varchar(255) NOT NULL default '',
  13. `mailtonen` varchar(255) NOT NULL default '',
  14. `nieuwsbrief` varchar(255) NOT NULL default '',
  15. `aangemeld` date NOT NULL default '0000-00-00',
  16. `onderschrift` text NOT NULL,
  17. `avatar` varchar(255) NOT NULL default '',
  18. `status` varchar(255) NOT NULL default '',
  19. `strafpunten` varchar(255) NOT NULL default '',
  20. `ip` varchar(255) NOT NULL default '',
  21. `posts` smallint(4) NOT NULL default '0',
  22. PRIMARY KEY (`id`),
  23. KEY `avatar` (`avatar`)
  24. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Offline finduilas - 30/06/2006 22:17
Avatar van finduilas PHP gevorderde Is dat je query die je uitvoert?Denk et nie.
Offline Crain - 30/06/2006 22:18
Avatar van Crain Nieuw lid Wat moet je dan hebben? die van php?
Offline marten - 30/06/2006 22:19
Avatar van marten Beheerder waar die -50,50 in staat
Offline finduilas - 30/06/2006 22:19
Avatar van finduilas PHP gevorderde ja,

Waarschijnlijk iets van SELECT of UPDATE
Offline Crain - 30/06/2006 22:21
Avatar van Crain Nieuw lid
  1. <?
  2.  
  3. $perpagina = 50;
  4. $query = mysql_query("SELECT * FROM Ledensysteem ORDER BY gebruikersnaam ASC")or die(mysql_error());
  5. $aantal = mysql_num_rows($query);
  6.  
  7. $p = (isset($_GET['p'])) ? $_GET['p'] - 1 : 0;
  8.  
  9. $begin = $perpagina * $p;
  10.  
  11. $aantalpagina = ceil($aantal / $perpagina);
  12.  
  13. $vorige = ($p == 0) ? '&#171; Vorige' : '<a href=?p=leden/ledenlijst&p='.$p.'>&#171; Vorige</a>';
  14. $volgende = (($p + 1) == $aantalpagina) ? 'Volgende &#187;' : '<a href=?p=leden/ledenlijst&p='.($p + 2).'>Volgende &#187;</a>';
  15.  
  16. $i = 1;
  17. for($i = 1; $i <= $aantalpagina; $i++) {
  18. $paginas .= ($i == ($p +1)) ? ' '.$i .' |' : ' <a href=?p=leden/ledenlijst&p='.$i.'>'.$i.'</a> |';
  19. }
  20.  
  21. $nav = $vorige .' | '. $paginas .' '. $volgende.'<br><br>';
  22.  
  23. $query = mysql_query("SELECT * FROM Ledensysteem ORDER BY gebruikersnaam ASC Limit $begin,$perpagina")or die(mysql_error());
  24.  
  25. echo $nav;
  26.  
  27. tabel3("Gebruikersnaam" , "Aanmelddatum" , "Status");
  28.  
  29. while ($list = mysql_fetch_object($query))
  30. {
  31. $gebruikersnaam = strip_tags($list->gebruikersnaam);
  32. if ($list->status == "Beheerder")
  33. {
  34. $status = "<font color=\"#FF0000\">Beheerder</font>";
  35. }
  36. elseif ($list->status == "SuperModerator")
  37. {
  38. $status = "<font color=\"#000080\">SuperModerator</font>";
  39. }
  40. elseif ($list->status == "Moderator")
  41. {
  42. $status = "<font color=\"#0000FF\">Moderator</font>";
  43. }
  44. elseif ($list->status == "Verbannen")
  45. {
  46. $status = "<font color=\"#008000\">Verbannen</font>";
  47. }
  48. else
  49. {
  50. $status = "Lid";
  51. }
  52. echo "<tr>";
  53. echo "<td width=\"33%\"><img border=\"0\" src=\"afbeeldingen/leden.gif\" width=\"16\" height=\"13\"> <a href=\"?p=leden/profiel&gebruikersnaam=".$list->gebruikersnaam."\">".$gebruikersnaam."</a></td>";
  54. echo "<td width=\"33%\">".$list->aangemeld."</td>";
  55. echo "<td width=\"34%\">".$status."</td>";
  56. echo "</tr>";
  57. }
  58.  
  59. $select = "SELECT * FROM Ledensysteem ORDER BY gebruikersnaam ASC";
  60. $query = mysql_query($select)or die(mysql_error());
  61. $aantal = mysql_num_rows($query);
  62.  
  63. echo "Deze site heeft momenteel ";
  64.  
  65. if ($aantal == "1")
  66. {
  67. echo "<b>1</b> lid.<br><br>";
  68. }
  69. else
  70. {
  71. echo "<b>$aantal</b> leden.<br><br>";
  72. }
  73.  
  74. echo "</table></p>";
  75.  
  76. echo "Laatste 5 mannelijke leden<br><br>";
  77.  
  78. tabel3("Gebruikersnaam" , "Aanmelddatum" , "Status");
  79.  
  80. $select3 = mysql_query("SELECT * FROM Ledensysteem WHERE geslacht = 'Man' ORDER BY id DESC LIMIT 0,5");
  81. while ($list3 = mysql_fetch_object($select3))
  82. {
  83. $gebruikersnaam = strip_tags($list3->gebruikersnaam);
  84. if ($list3->status == "Beheerder")
  85. {
  86. $status = "<font color=\"#FF0000\">Beheerder</font>";
  87. }
  88. elseif ($list3->status == "SuperModerator")
  89. {
  90. $status = "<font color=\"#000080\">SuperModerator</font>";
  91. }
  92. elseif ($list3->status == "Moderator")
  93. {
  94. $status = "<font color=\"#0000FF\">Moderator</font>";
  95. }
  96. elseif ($list3->status == "Verbannen")
  97. {
  98. $status = "<font color=\"#008000\">Verbannen</font>";
  99. }
  100. else
  101. {
  102. $status = "Lid";
  103. }
  104. echo "<tr>";
  105. echo "<td width=\"33%\"><img border=\"0\" src=\"afbeeldingen/leden.gif\" width=\"16\" height=\"13\"> <a href=\"?p=leden/profiel&gebruikersnaam=".$list3->gebruikersnaam."\">".$gebruikersnaam."</a></td>";
  106. echo "<td width=\"33%\">".$list3->aangemeld."</td>";
  107. echo "<td width=\"34%\">".$status."</td>";
  108. echo "</tr>";
  109. }
  110. echo "</table><br>";
  111.  
  112. echo "Laatste 5 vrouwelijke leden<br><br>";
  113.  
  114. $select4 = mysql_query("SELECT * FROM Ledensysteem WHERE geslacht = 'Vrouw' ORDER BY id DESC LIMIT 0,5");
  115.  
  116. tabel3("Gebruikersnaam" , "Aanmelddatum" , "Status");
  117.  
  118. while ($list4 = mysql_fetch_object($select4))
  119. {
  120. $gebruikersnaam = strip_tags($list4->gebruikersnaam);
  121. if ($list4->status == "Beheerder")
  122. {
  123. $status = "<font color=\"#FF0000\">Beheerder</font>";
  124. }
  125. elseif ($list4->status == "SuperModerator")
  126. {
  127. $status = "<font color=\"#000080\">SuperModerator</font>";
  128. }
  129. elseif ($list4->status == "Moderator")
  130. {
  131. $status = "<font color=\"#0000FF\">Moderator</font>";
  132. }
  133. elseif ($list4->status == "Verbannen")
  134. {
  135. $status = "<font color=\"#008000\">Verbannen</font>";
  136. }
  137. else
  138. {
  139. $status = "Lid";
  140. }
  141. echo "<tr>";
  142. echo "<td width=\"33%\"><img border=\"0\" src=\"afbeeldingen/leden.gif\" width=\"16\" height=\"13\"> <a href=\"?p=leden/profiel&gebruikersnaam=".$list4->gebruikersnaam."\">".$gebruikersnaam."</a></td>";
  143. echo "<td width=\"33%\">".$list4->aangemeld."</td>";
  144. echo "<td width=\"34%\">".$status."</td>";
  145. echo "</tr>";
  146. }
  147. echo "</table><br>";
  148. ?>
Offline finduilas - 30/06/2006 22:22 (laatste wijziging 30/06/2006 22:26)
Avatar van finduilas PHP gevorderde Even op plaatscode.be gekieperd.Bekijkt het beter:

http://plaatscode.be/1002/

Citaat:
dat er een error in je query zit en dat je moet kijken naar -50,50 wat waarschijnlijk je LIMIT is en die dus geen negatieve getallen aankan.


Er zit dus iets fout in je LIMIT (23):
  1. $query = mysql_query("SELECT * FROM Ledensysteem ORDER BY gebruikersnaam ASC Limit $begin,$perpagina")or die(mysql_error());

Ik snap niet echt wat je er wilt mee doen.Maar ik zou 0,$perpagina doen.
EDIT 2: Delen door 0 heeft geen effect toch?
$p = (isset($_GET['p'])) ? $_GET['p'] - 1 : 0; Dan mag die : 0 weg?
Offline marten - 30/06/2006 22:24 (laatste wijziging 30/06/2006 22:28)
Avatar van marten Beheerder $begin = $perpagina * $p;

hier komt -50 uit. Dit is niet mogelijk want je begint bij 0 te tellen met LIMIT 
dus die berekening moet je even nakijken zodat er een positief getal uitkomt

en haal je variabelen buiten de quotes

Edit @ Fin
Dat is een kortere schrijfwijze voor een if ;) dus het is geen deling
Offline Crain - 30/06/2006 22:27 (laatste wijziging 30/06/2006 22:28)
Avatar van Crain Nieuw lid Goed, ik zal even naar kijken of het mogelijk is.

wil je dus zeggen;

  1. 1
  2. $query = mysql_query("SELECT * FROM Ledensysteem ORDER BY gebruikersnaam ASC Limit $begin,$perpagina")or die(mysql_error());
  3.  
  4. vervangen door
  5.  
  6. 1
  7. $query = mysql_query("SELECT * FROM Ledensysteem ORDER BY gebruikersnaam ASC Limit 0,$perpagina")or die(mysql_error());
Offline marten - 30/06/2006 22:29
Avatar van marten Beheerder neee

want je wilt toch een paginanavigatie hebben?
dan moet je het dynamisch houden anders zal het dus niet gaan werken 
Offline finduilas - 30/06/2006 22:30
Avatar van finduilas PHP gevorderde Het is te zien wat je wilt uitkomen bij $begin.Maar zoals je het nu doet zal het niet werken.

@marten: Ty;Kheb weer bijgeleerd. 
Offline Crain - 30/06/2006 22:31
Avatar van Crain Nieuw lid Ik heb niet zo veel ervaring met php + mysql. Dit is een systeem dat ik toen had gekocht. Maar om dit te kunnen werken, wat raden jullie mij dan aan?
Offline marten - 30/06/2006 22:33
Avatar van marten Beheerder bekijk de PEAR codeer style eens en pas je script daaraan aan
Offline finduilas - 30/06/2006 22:34
Avatar van finduilas PHP gevorderde Probeer maar eens met die 0.Het zal werken maar ik weet niet of het dan zal zijn zoals je wilt.Hij zal dan namelijk 50 leden tonen.
Offline marten - 30/06/2006 22:35
Avatar van marten Beheerder en hij toont altijd 50 leden dus je pagina navigatie zal niet gaan werken
Offline Crain - 30/06/2006 22:38
Avatar van Crain Nieuw lid Oke, ik geloof dat ik zo ongeveer snap, ik zal er naar kijken, bedankt!
Offline finduilas - 30/06/2006 22:39 (laatste wijziging 30/06/2006 22:42)
Avatar van finduilas PHP gevorderde Ik zou het doen met ?p=50
$perpagina = 50
$begin = $_get['p']
$einde = $begin + $perpagina

Zal hij de leden weergeven van 50-100
Als p=10 is zal hij 10-60 weergeven.
Offline marten - 30/06/2006 22:42
Avatar van marten Beheerder momentje

zal even iets betere versie maken voor je
Offline Gerard - 30/06/2006 22:44
Avatar van Gerard Ouwe rakker
  1. <?php
  2. $query = mysql_query("SELECT *
  3. FROM Ledensysteem
  4. ORDER BY gebruikersnaam ASC
  5. LIMIT ".(isset($_GET['leden']) && is_numeric($_GET['leden']) && $_GET['leden'] > 0 ? $_GET['leden'] : 0).", 50") or die(mysql_error());
  6. ?>
Offline Crain - 30/06/2006 22:55
Avatar van Crain Nieuw lid Die van Proximus, dus deze script kan maar tot 50 leden?
Offline Gerard - 30/06/2006 22:59
Avatar van Gerard Ouwe rakker Eerder was er geen sprake van dat het script variabel moest zijn in het aantal leden dat getoond wordt per pagina. Vandaar dat de 50 dus vast in de query staat. het tweede getal (die na de komma, de 50 dus) geeft aan hoeveel records de MySQL database moet terugzenden.

Het eerste getal (die voor de komma, die in mijn geval dus berekend wordt) geeft aan vanaf welk aantal records hij terug moet zenden. Om mijn script in woorden te zetten:

Wanneer er geen ?leden=xx is aangegeven in de url start hij bij 0 en haalt hij 50 leden op uit de database. Is er wel een ?leden=xx aangegeven (bv ?leden=50) dan haalt hij vanaf die positie 50 leden uit de database.

Het enige wat ik extra erbij heb gemaakt is dat hij kijkt of het getal wat meegegeven wordt in de URL ook wel echt een getal is en of het hoger is dan 0.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.257s