Wat is er fout aan deze query?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wouterjan Muchu

Wouterjan Muchu

06/04/2011 19:40:40
Quote Anchor link
Een script geeft een error bij deze query.

Nu denk ik dat het met dubbele 'gebruik te maken heeft.
Maar hoe kun je 'toch gebruiken zonder aftesluiten?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql = "SELECT * FROM yourls_url WHERE ip ='$ip' ORDER BY timestamp DESC  limit '.($page*$eachPage).','.$eachPage.'";
 
PHP hulp

PHP hulp

28/03/2024 13:19:21
 

06/04/2011 19:47:32
Quote Anchor link
- Gebruik geen *, selecteer wat je wilt hebben.
- Variabelen buiten quotes.
- Hoe sla je ip adressen op?
- integers horen niet tussen quotes.
 
Aad B

Aad B

06/04/2011 19:50:46
Quote Anchor link
display je query, echo $sql en zie wat er fout is!!
- Variabelen buiten quotes.
 
Gerard M

Gerard M

06/04/2011 20:01:57
Quote Anchor link
Karl Karl op 06/04/2011 19:47:32:
- integers horen niet tussen quotes.


NB.: Voor de mensen die dit nog niet weten, als integers zonder quotes in je SQL query opneemt, let er dan extra op dat je de variable valideert met filter_var, is_numeric (let op floats!), ctype_digit of een vergelijkbare routine. Doe je dit niet, dan loop je SQL injection risico; mysql_real_escape zal je niet beschermen in dit geval.
Gewijzigd op 06/04/2011 20:02:47 door Gerard M
 
Leon de Vries

Leon de Vries

06/04/2011 20:15:37
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql = "SELECT * FROM yourls_url WHERE ip ='$ip' ORDER BY timestamp DESC  limit '.($page*$eachPage).','.$eachPage.'";

Het probleem in dit geval is het verschil tussen de " en de '
Je opent de string met een " en vervolgens bij de limit wil je hem sluiten met een ' dat werkt niet.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql = "SELECT * FROM yourls_url WHERE ip ='".$ip."' ORDER BY timestamp DESC  limit ".($page*$eachPage).",".$eachPage;


dit zou al beter moet werken. Ik heb ook $ip even buiten quotes gezet.
 
Wouterjan Muchu

Wouterjan Muchu

06/04/2011 20:32:51
Quote Anchor link
Bedankt! nu werkt het script helemaal! Ik ga even kijken wat ik precies fout deed.
 
Tobias Tobias

Tobias Tobias

06/04/2011 21:01:13
Quote Anchor link
Kijk ook naar wat de anderen als adviezen geven. Een werkend script is niet altijd een goed/veilig script
 
Wouterjan Muchu

Wouterjan Muchu

06/04/2011 21:29:13
Quote Anchor link
Ja ik ga zeker kijken wat er nog kan worden verbeterd en wat er fout ging.
 

06/04/2011 22:25:42
Quote Anchor link
Wouterjan Muchu op 06/04/2011 21:29:13:
Ja ik ga zeker kijken wat er nog kan worden verbeterd en wat er fout ging.


SQL leren
 
Jordi Kroon

Jordi Kroon

06/04/2011 22:39:35
Quote Anchor link
En kijk uit voor sql injecties
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.