Wat is er fout aan deze query?
PHP Code:
$sql = "SELECT * FROM yourls_url WHERE ip ='$ip' ORDER BY timestamp DESC limit '.($page*$eachPage).','.$eachPage.'";
- Fout aan query
-
06-04-2011, 18:23 #1
- Berichten
- 1.907
- Lid sinds
- 16 Jaar
Fout aan query
-
-
06-04-2011, 18:37 #2
- Berichten
- 376
- Lid sinds
- 18 Jaar
Re: Fout aan query
Je LIMIT doe je niet goed (de enkele aanhalingstekens moeten dubbele worden). Mijn tip: ga werken in een programma die je code highlight, dan zie je de fout meteen.
-
06-04-2011, 18:42 #3
- Berichten
- 1.907
- Lid sinds
- 16 Jaar
Re: Fout aan query
Zo dus?
PHP Code:$sql = 'SELECT * FROM yourls_url WHERE ip =\'$ip\' ORDER BY timestamp DESC limit ".($page*$eachPage).",".$eachPage."';
-
06-04-2011, 19:12 #4
- Berichten
- 376
- Lid sinds
- 18 Jaar
Re: Fout aan query
Aanhalingstekentechnisch wel ja.
-
06-04-2011, 19:13 #5
- Berichten
- 1.031
- Lid sinds
- 17 Jaar
Re: Fout aan query
Zo:
PHP Code:$sql = "SELECT * FROM yourls_url WHERE ip ='".$ip."' ORDER BY timestamp DESC limit ".($page*$eachPage).",".$eachPage;
-
06-04-2011, 19:16 #6
- Berichten
- 1.907
- Lid sinds
- 16 Jaar
Re: Fout aan query
Bedankt Jopie! Het script werkt nu helemaal! Bedankt!
Ik ga even uitvogelen wat ik nu fout deed.
-
06-04-2011, 20:36 #7
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: Fout aan query
Je escaped single quotes met dubbele en daarna escape je dubbele quotes met enkele. Terwijl je dubbele met dubbele escaped en enkel met enkel:
Stel je dit voor:
PHP Code:$goed = "prima"; $fout = "verkeerd";
PHP Code:echo "Dit is ".$goed." gedaan";
PHP Code:echo "Dit is '.$fout.' gedaan";
PHP Code:echo 'Dit is '.$goed.' gedaan';
PHP Code:echo 'Dit is ".$fout." gedaan';
2 geeft als output: Dit is '.$fout.' gedaan (en jij verwacht 'Dit is verkeerd gedaan')
3 geeft als output: Dit is prima gedaan
4 geeft als output: Dit is ".$fout." gedaan (en jij verwacht 'Dit is verkeerd gedaan')
-
06-04-2011, 20:40 #8
- Berichten
- 1.907
- Lid sinds
- 16 Jaar
Re: Fout aan query
Hoi Joshua de Gier,
Bedankt voor je uitleg! Is zeker erg nuttig! Moet bekennen dat ik dit nog niet wist :)
Maar hem het overgeschreven dus ga dit onthouden.Thanks!
-
06-04-2011, 23:04 #9
- Berichten
- 376
- Lid sinds
- 18 Jaar
Re: Fout aan query
Wat belangrijk is om te onthouden is dat je het type aanhalingsteken gebruikt waar je ook de echo mee opent/sluit. Wat is dan het verschil? Tussen dubbele aanhalingstekens, ", worden variabelen gelezen, tussen enkele, ', niet. Dus goed is ook:
PHP Code:$naam = 'Peter';
echo "Ik heet $naam en ik ben een man.";
PHP Code://dit probleem hen je niet meer...
echo "<div class=\"header\">";
//...als je het zo doet
echo '<div class="header">';
-
07-04-2011, 05:32 #10
- Berichten
- 750
- Lid sinds
- 15 Jaar
Re: Fout aan query
PHP Code:$naam='Peter';
echo"Ikheet$naamenikbeneenman.";
Bovendien wanneer de programmeurs van php dit gedrag uit toekomstige php versies haalt dan kun je alle je code aanpassen dus doe het gewoon direct goed dus de variable uit de qoutes (lees uit de string) te halen
Verder lees ik nergens over de sql injection die de topicstarter in zijn query heeftLaatst aangepast door Raymond Nijland : 07-04-2011 om 05:43
-
07-04-2011, 07:10 #11
- Berichten
- 980
- Lid sinds
- 17 Jaar
-
07-04-2011, 11:05 #12
- Berichten
- 750
- Lid sinds
- 15 Jaar
Re: Fout aan query
Las vanmorgen met slaperig ogen in trein id in plaats van ip
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic