Error Mysql?
Crain - 30/06/2006 21:51
Nieuw 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
Gerard - 30/06/2006 21:52
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.
marten - 30/06/2006 21:53
Beheerder
glazen bol ----> quotes vergeten geen mysql_error() gebruikt en niet geprobeerd in phpmyadmin
svm - 30/06/2006 21:53 (laatste wijziging 30/06/2006 21:54)
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.
Crain - 30/06/2006 22:14 (laatste wijziging 30/06/2006 22:15)
Nieuw lid
CREATE TABLE `Ledensysteem` (
`id` int(11) NOT NULL auto_increment,
`gebruikersnaam` varchar(255) NOT NULL default '',
`wachtwoord` varchar(255) NOT NULL default '',
`naam` varchar(255) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
`geboortedatum` varchar(255) NOT NULL default '',
`homepage` text NOT NULL,
`msn` varchar(255) NOT NULL default '',
`woonplaats` varchar(255) NOT NULL default '',
`geslacht` varchar(255) NOT NULL default '',
`berichten` varchar(255) NOT NULL default '',
`mailtonen` varchar(255) NOT NULL default '',
`nieuwsbrief` varchar(255) NOT NULL default '',
`aangemeld` date NOT NULL default '0000-00-00',
`onderschrift` text NOT NULL,
`avatar` varchar(255) NOT NULL default '',
`status` varchar(255) NOT NULL default '',
`strafpunten` varchar(255) NOT NULL default '',
`ip` varchar(255) NOT NULL default '',
`posts` smallint(4) NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `avatar` (`avatar`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE `Ledensysteem` (
`id` int( 11 ) NOT NULL auto_increment,
`gebruikersnaam` varchar( 255 ) NOT NULL default '' ,
`wachtwoord` varchar( 255 ) NOT NULL default '' ,
`naam` varchar( 255 ) NOT NULL default '' ,
`email` varchar( 255 ) NOT NULL default '' ,
`geboortedatum` varchar( 255 ) NOT NULL default '' ,
`homepage` text NOT NULL ,
`msn` varchar( 255 ) NOT NULL default '' ,
`woonplaats` varchar( 255 ) NOT NULL default '' ,
`geslacht` varchar( 255 ) NOT NULL default '' ,
`berichten` varchar( 255 ) NOT NULL default '' ,
`mailtonen` varchar( 255 ) NOT NULL default '' ,
`nieuwsbrief` varchar( 255 ) NOT NULL default '' ,
`aangemeld`
date NOT
NULL default '0000-00-00' , `onderschrift` text NOT NULL ,
`avatar` varchar( 255 ) NOT NULL default '' ,
`status` varchar( 255 ) NOT NULL default '' ,
`strafpunten` varchar( 255 ) NOT NULL default '' ,
`ip` varchar( 255 ) NOT NULL default '' ,
`posts` smallint( 4 ) NOT NULL default '0' ,
) ENGINE= MyISAM DEFAULT CHARSET= latin1 AUTO_INCREMENT= 1 ;
finduilas - 30/06/2006 22:17
PHP gevorderde
Is dat je query die je uitvoert?Denk et nie.
Crain - 30/06/2006 22:18
Nieuw lid
Wat moet je dan hebben? die van php?
marten - 30/06/2006 22:19
Beheerder
waar die -50,50 in staat
finduilas - 30/06/2006 22:19
PHP gevorderde
ja,
Waarschijnlijk iets van SELECT of UPDATE
Crain - 30/06/2006 22:21
Nieuw lid
<?
$perpagina = 50;
$query = mysql_query("SELECT * FROM Ledensysteem ORDER BY gebruikersnaam ASC")or die(mysql_error());
$aantal = mysql_num_rows($query);
$p = (isset($_GET['p'])) ? $_GET['p'] - 1 : 0;
$begin = $perpagina * $p;
$aantalpagina = ceil($aantal / $perpagina);
$vorige = ($p == 0) ? '« Vorige' : '<a href=?p=leden/ledenlijst&p='.$p.'>« Vorige</a>';
$volgende = (($p + 1) == $aantalpagina) ? 'Volgende »' : '<a href=?p=leden/ledenlijst&p='.($p + 2).'>Volgende »</a>';
$i = 1;
for($i = 1; $i <= $aantalpagina; $i++) {
$paginas .= ($i == ($p +1)) ? ' '.$i .' |' : ' <a href=?p=leden/ledenlijst&p='.$i.'>'.$i.'</a> |';
}
$nav = $vorige .' | '. $paginas .' '. $volgende.'<br><br>';
$query = mysql_query("SELECT * FROM Ledensysteem ORDER BY gebruikersnaam ASC Limit $begin,$perpagina")or die(mysql_error());
echo $nav;
tabel3("Gebruikersnaam" , "Aanmelddatum" , "Status");
while ($list = mysql_fetch_object($query))
{
$gebruikersnaam = strip_tags($list->gebruikersnaam);
if ($list->status == "Beheerder")
{
$status = "<font color=\"#FF0000\">Beheerder</font>";
}
elseif ($list->status == "SuperModerator")
{
$status = "<font color=\"#000080\">SuperModerator</font>";
}
elseif ($list->status == "Moderator")
{
$status = "<font color=\"#0000FF\">Moderator</font>";
}
elseif ($list->status == "Verbannen")
{
$status = "<font color=\"#008000\">Verbannen</font>";
}
else
{
$status = "Lid";
}
echo "<tr>";
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>";
echo "<td width=\"33%\">".$list->aangemeld."</td>";
echo "<td width=\"34%\">".$status."</td>";
echo "</tr>";
}
$select = "SELECT * FROM Ledensysteem ORDER BY gebruikersnaam ASC";
$query = mysql_query($select)or die(mysql_error());
$aantal = mysql_num_rows($query);
echo "Deze site heeft momenteel ";
if ($aantal == "1")
{
echo "<b>1</b> lid.<br><br>";
}
else
{
echo "<b>$aantal</b> leden.<br><br>";
}
echo "</table></p>";
echo "Laatste 5 mannelijke leden<br><br>";
tabel3("Gebruikersnaam" , "Aanmelddatum" , "Status");
$select3 = mysql_query("SELECT * FROM Ledensysteem WHERE geslacht = 'Man' ORDER BY id DESC LIMIT 0,5");
while ($list3 = mysql_fetch_object($select3))
{
$gebruikersnaam = strip_tags($list3->gebruikersnaam);
if ($list3->status == "Beheerder")
{
$status = "<font color=\"#FF0000\">Beheerder</font>";
}
elseif ($list3->status == "SuperModerator")
{
$status = "<font color=\"#000080\">SuperModerator</font>";
}
elseif ($list3->status == "Moderator")
{
$status = "<font color=\"#0000FF\">Moderator</font>";
}
elseif ($list3->status == "Verbannen")
{
$status = "<font color=\"#008000\">Verbannen</font>";
}
else
{
$status = "Lid";
}
echo "<tr>";
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>";
echo "<td width=\"33%\">".$list3->aangemeld."</td>";
echo "<td width=\"34%\">".$status."</td>";
echo "</tr>";
}
echo "</table><br>";
echo "Laatste 5 vrouwelijke leden<br><br>";
$select4 = mysql_query("SELECT * FROM Ledensysteem WHERE geslacht = 'Vrouw' ORDER BY id DESC LIMIT 0,5");
tabel3("Gebruikersnaam" , "Aanmelddatum" , "Status");
while ($list4 = mysql_fetch_object($select4))
{
$gebruikersnaam = strip_tags($list4->gebruikersnaam);
if ($list4->status == "Beheerder")
{
$status = "<font color=\"#FF0000\">Beheerder</font>";
}
elseif ($list4->status == "SuperModerator")
{
$status = "<font color=\"#000080\">SuperModerator</font>";
}
elseif ($list4->status == "Moderator")
{
$status = "<font color=\"#0000FF\">Moderator</font>";
}
elseif ($list4->status == "Verbannen")
{
$status = "<font color=\"#008000\">Verbannen</font>";
}
else
{
$status = "Lid";
}
echo "<tr>";
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>";
echo "<td width=\"33%\">".$list4->aangemeld."</td>";
echo "<td width=\"34%\">".$status."</td>";
echo "</tr>";
}
echo "</table><br>";
?>
<?
$perpagina = 50 ;
$p = ( isset ( $_GET [ 'p' ] ) ) ?
$_GET [ 'p' ] - 1 : 0 ;
$begin = $perpagina * $p ;
$aantalpagina = ceil ( $aantal / $perpagina ) ;
$vorige = ( $p == 0 ) ? '« Vorige' : '<a href=?p=leden/ledenlijst&p=' . $p . '>« Vorige</a>' ;
$volgende = ( ( $p + 1 ) == $aantalpagina ) ? 'Volgende »' : '<a href=?p=leden/ledenlijst&p=' . ( $p + 2 ) . '>Volgende »</a>' ;
$i = 1 ;
for ( $i = 1 ; $i <= $aantalpagina ; $i ++ ) {
$paginas .= ( $i == ( $p + 1 ) ) ? ' ' . $i . ' |' : ' <a href=?p=leden/ledenlijst&p=' . $i . '>' . $i . '</a> |' ;
}
$nav = $vorige . ' | ' . $paginas . ' ' . $volgende . '<br><br>' ;
tabel3( "Gebruikersnaam" , "Aanmelddatum" , "Status" ) ;
{
$gebruikersnaam = strip_tags ( $list -> gebruikersnaam ) ; if ( $list -> status == "Beheerder" )
{
$status = "<font color=\" #FF0000\" >Beheerder</font>" ;
}
elseif ( $list -> status == "SuperModerator" )
{
$status = "<font color=\" #000080\" >SuperModerator</font>" ;
}
elseif ( $list -> status == "Moderator" )
{
$status = "<font color=\" #0000FF\" >Moderator</font>" ;
}
elseif ( $list -> status == "Verbannen" )
{
$status = "<font color=\" #008000\" >Verbannen</font>" ;
}
else
{
$status = "Lid" ;
}
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>" ; echo "<td width=\" 33%\" >" . $list -> aangemeld . "</td>" ; echo "<td width=\" 34%\" >" . $status . "</td>" ; }
$select = "SELECT * FROM Ledensysteem ORDER BY gebruikersnaam ASC" ;
echo "Deze site heeft momenteel " ;
if ( $aantal == "1" )
{
echo "<b>1</b> lid.<br><br>" ; }
else
{
echo "<b>$aantal </b> leden.<br><br>" ; }
echo "Laatste 5 mannelijke leden<br><br>" ;
tabel3( "Gebruikersnaam" , "Aanmelddatum" , "Status" ) ;
$select3 = mysql_query ( "SELECT * FROM Ledensysteem WHERE geslacht = 'Man' ORDER BY id DESC LIMIT 0,5" ) ; {
$gebruikersnaam = strip_tags ( $list3 -> gebruikersnaam ) ; if ( $list3 -> status == "Beheerder" )
{
$status = "<font color=\" #FF0000\" >Beheerder</font>" ;
}
elseif ( $list3 -> status == "SuperModerator" )
{
$status = "<font color=\" #000080\" >SuperModerator</font>" ;
}
elseif ( $list3 -> status == "Moderator" )
{
$status = "<font color=\" #0000FF\" >Moderator</font>" ;
}
elseif ( $list3 -> status == "Verbannen" )
{
$status = "<font color=\" #008000\" >Verbannen</font>" ;
}
else
{
$status = "Lid" ;
}
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>" ; echo "<td width=\" 33%\" >" . $list3 -> aangemeld . "</td>" ; echo "<td width=\" 34%\" >" . $status . "</td>" ; }
echo "Laatste 5 vrouwelijke leden<br><br>" ;
$select4 = mysql_query ( "SELECT * FROM Ledensysteem WHERE geslacht = 'Vrouw' ORDER BY id DESC LIMIT 0,5" ) ;
tabel3( "Gebruikersnaam" , "Aanmelddatum" , "Status" ) ;
{
$gebruikersnaam = strip_tags ( $list4 -> gebruikersnaam ) ; if ( $list4 -> status == "Beheerder" )
{
$status = "<font color=\" #FF0000\" >Beheerder</font>" ;
}
elseif ( $list4 -> status == "SuperModerator" )
{
$status = "<font color=\" #000080\" >SuperModerator</font>" ;
}
elseif ( $list4 -> status == "Moderator" )
{
$status = "<font color=\" #0000FF\" >Moderator</font>" ;
}
elseif ( $list4 -> status == "Verbannen" )
{
$status = "<font color=\" #008000\" >Verbannen</font>" ;
}
else
{
$status = "Lid" ;
}
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>" ; echo "<td width=\" 33%\" >" . $list4 -> aangemeld . "</td>" ; echo "<td width=\" 34%\" >" . $status . "</td>" ; }
?>
finduilas - 30/06/2006 22:22 (laatste wijziging 30/06/2006 22:26)
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):
$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?
Crain - 30/06/2006 22:27 (laatste wijziging 30/06/2006 22:28)
Nieuw lid
Goed, ik zal even naar kijken of het mogelijk is.
wil je dus zeggen;
1
$query = mysql_query("SELECT * FROM Ledensysteem ORDER BY gebruikersnaam ASC Limit $begin,$perpagina")or die(mysql_error());
vervangen door
1
$query = mysql_query("SELECT * FROM Ledensysteem ORDER BY gebruikersnaam ASC Limit 0,$perpagina")or die(mysql_error());
Crain - 30/06/2006 22:31
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?
marten - 30/06/2006 22:33
Beheerder
bekijk de PEAR codeer style eens en pas je script daaraan aan
finduilas - 30/06/2006 22:34
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.
marten - 30/06/2006 22:35
Beheerder
en hij toont altijd 50 leden dus je pagina navigatie zal niet gaan werken
Crain - 30/06/2006 22:38
Nieuw lid
Oke, ik geloof dat ik zo ongeveer snap, ik zal er naar kijken, bedankt!
finduilas - 30/06/2006 22:39 (laatste wijziging 30/06/2006 22:42)
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.
marten - 30/06/2006 22:42
Beheerder
momentje
zal even iets betere versie maken voor je
Gerard - 30/06/2006 22:44
Ouwe rakker
<?php
$query = mysql_query("SELECT *
FROM Ledensysteem
ORDER BY gebruikersnaam ASC
LIMIT ".(isset($_GET['leden']) && is_numeric($_GET['leden']) && $_GET['leden'] > 0 ? $_GET['leden'] : 0).", 50") or die(mysql_error());
?>
<?php
FROM Ledensysteem
ORDER BY gebruikersnaam ASC
?>
Crain - 30/06/2006 22:55
Nieuw lid
Die van Proximus, dus deze script kan maar tot 50 leden?
Gerard - 30/06/2006 22:59
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 .