Probleem met een variable.
Goedendag,
Ik zit met het volgende probleem.
Ik heb een variabel die $eachPage heet.
dit is mijn gedeelte van de code waar ik het probleem mee heb.
Zoals jullie hier zijn staat $eachPage bovenaan.
maar dan krijg ik een mysql error die luidt als dit
Probleem met de query: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 '-10,10'
Maar als ik die $eachPage boven de sql query plaats dan krijg ik deze melding
Notice: Undefined variable: eachPage
Hoe krijg ik dit weg.
Alvast bedankt.
Thomas de Vries.
Toevoeging op 16/06/2011 14:06:11:
Edit:
Probleem is opgelost
Ik zit met het volgende probleem.
Ik heb een variabel die $eachPage heet.
dit is mijn gedeelte van de code waar ik het probleem mee heb.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$eachPage = 10;
if(isset($_GET['a']) == "" AND ctype_digit(isset($_GET['a'])))
{
$page = ($_GET['a'] -1) * $eachPage;
}
else
{
$page = (isset($_GET['a']) -1) * $eachPage;
}
//$eachPage = 10;
$sql_klein = "SELECT id,datum,fotonaam,fotourl,fotobeschrijving FROM fotos ORDER BY datum DESC LIMIT ".$mysqli->real_escape_string($page.",".$eachPage."");
if(!$result1 = $mysqli->query($sql_klein))
{
sqlError('Er is een fout gevonden bij het verwerken van de data.<br />Onze excuses voor het ongemak.<br />De beheerder is op de hoogte gesteld.');
notify('Probleem met de query:'.$mysqli->error.' in foto3.php op lijn 81 op datum '.date("Y-m-d").'');
}
?>
$eachPage = 10;
if(isset($_GET['a']) == "" AND ctype_digit(isset($_GET['a'])))
{
$page = ($_GET['a'] -1) * $eachPage;
}
else
{
$page = (isset($_GET['a']) -1) * $eachPage;
}
//$eachPage = 10;
$sql_klein = "SELECT id,datum,fotonaam,fotourl,fotobeschrijving FROM fotos ORDER BY datum DESC LIMIT ".$mysqli->real_escape_string($page.",".$eachPage."");
if(!$result1 = $mysqli->query($sql_klein))
{
sqlError('Er is een fout gevonden bij het verwerken van de data.<br />Onze excuses voor het ongemak.<br />De beheerder is op de hoogte gesteld.');
notify('Probleem met de query:'.$mysqli->error.' in foto3.php op lijn 81 op datum '.date("Y-m-d").'');
}
?>
Zoals jullie hier zijn staat $eachPage bovenaan.
maar dan krijg ik een mysql error die luidt als dit
Probleem met de query: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 '-10,10'
Maar als ik die $eachPage boven de sql query plaats dan krijg ik deze melding
Notice: Undefined variable: eachPage
Hoe krijg ik dit weg.
Alvast bedankt.
Thomas de Vries.
Toevoeging op 16/06/2011 14:06:11:
Edit:
Probleem is opgelost
Gewijzigd op 16/06/2011 13:06:06 door Thomas de vries
Dit: isset($_GET['a']) == "" slaat nergens op.
Je vergelijkt hier een true/false met een lege string.
Je vergelijkt hier een true/false met een lege string.
Het probleem is dat je de variabele $eachPage al nodig hebt ver vóór je SQL query. Zoals je in je voorbeeldcode hebt geplaatst staat de variabele op de juiste plaats. ($eachPage = 10; dus)
Verder zit er inderdaad iets raars in regel 4. Je kijkt of $_GET['a'] bestaat, (dit geeft een true of false terug) welke je vervolgens gaat vergelijken met "".
Verder zit er inderdaad iets raars in regel 4. Je kijkt of $_GET['a'] bestaat, (dit geeft een true of false terug) welke je vervolgens gaat vergelijken met "".
En dit: $page = (isset($_GET['a']) -1) * $eachPage;
Geeft $page = 0 of $page = -10
Geeft $page = 0 of $page = -10
Gewijzigd op 16/06/2011 14:53:55 door - SanThe -
Waardoor je in je query dus een limit van -10,10 krijgt, wat je SQL-error verklaart.
SQL wil in jouw geval vanaf rij -10, 10 rijen ophalen. Dit moet 0,10 worden. (Voor de eerste 10 rijen (rij 0 tot en met 9).
SQL wil in jouw geval vanaf rij -10, 10 rijen ophalen. Dit moet 0,10 worden. (Voor de eerste 10 rijen (rij 0 tot en met 9).
ja idd heb het nu opgelost.
Had $page op 0 moeten zetten.
Dus gedaan en probleem op gelost.
Ook met die isset($_GET['a'] goed gezet.
In ieder geval bedankt
Had $page op 0 moeten zetten.
Dus gedaan en probleem op gelost.
Ook met die isset($_GET['a'] goed gezet.
In ieder geval bedankt
Gewijzigd op 16/06/2011 16:04:23 door thomas de vries




