[php/mysql] slashes probleem

Pagina: 1
Acties:

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19
naar aanleiding van [topic=291785/1/25] ff een vraagje

ik heb nu dus problemen met mijn query's
ik laat ff wat zien
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?
$query2="select id,recht,bevestig from users where nickname=\"$user_name\" and password=\"$pass\"";

echo "voor : $query2 <br>";

$query2=addslashes($query2);

echo "na: $query2 <br>";

$result2= mysql_query($query2, connect()) or die(mysql_error());
?>

levert
code:
1
2
3
voor : select id,recht,bevestig from users where nickname="D2k" and password="7daacea5f373b4c1c054158b126d317f" 
na: select id,recht,bevestig from users where nickname=\"D2k\" and password=\"7daacea5f373b4c1c054158b126d317f\" 
You have an error in your SQL syntax near '\"D2k\" and password=\"7daacea5f373b4c1c054158b126d317f\"' at line 1

op

k dan doen we het anders
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?
$query2="select id,recht,bevestig from users where nickname=$user_name and password=$pass";

echo "voor : $query2 <br>";

$query2=addslashes($query2);

echo "na: $query2 <br>";

$result2= mysql_query($query2, connect()) or die(mysql_error());
?>

levert
code:
1
2
3
voor : select id,recht,bevestig from users where nickname=D2k and password=7daacea5f373b4c1c054158b126d317f 
na: select id,recht,bevestig from users where nickname=D2k and password=7daacea5f373b4c1c054158b126d317f 
Unknown column 'D2k' in 'where clause'

op

dus dan de volgende mogelijkheid
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?
$query2="select id,recht,bevestig from users where nickname='$user_name' and password='$pass'";

echo "voor : $query2 <br>";

$query2=addslashes($query2);

echo "na: $query2 <br>";

$result2= mysql_query($query2, connect()) or die(mysql_error());
?>

levert
code:
1
2
3
voor : select id,recht,bevestig from users where nickname='D2k' and password='7daacea5f373b4c1c054158b126d317f' 
na: select id,recht,bevestig from users where nickname=\'D2k\' and password=\'7daacea5f373b4c1c054158b126d317f\' 
You have an error in your SQL syntax near '\'D2k\' and password=\'7daacea5f373b4c1c054158b126d317f\'' at line 1

op

hoe moet het dan wel?

Doet iets met Cloud (MS/IBM)


  • pimlie
  • Registratie: November 2000
  • Laatst online: 17-09 19:08
Waarom doe je uberhaupt Addslashes? Volgens mij werkt het wel als je dat weghaalt. De laatste 2 zouden het dan moeten doen.

  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

volgens mij zou de laatste het wel moeten doen zonder die addslashes.

ActueleWind


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19
Op maandag 15 oktober 2001 15:31 schreef pimlie het volgende:
Waarom doe je uberhaupt Addslashes? Volgens mij werkt het wel als je dat weghaalt. De laatste 2 zouden het dan moeten doen.
quote uit andere topic
Op maandag 15 oktober 2001 14:01 schreef [ti] het volgende:
naja. als we dan tog bezig zijn met slechte code te demonstreren, op http://www.code-base.f2s.com/got/ staat een of ander login scriptje van codebase/got (kweetniet psies). Als je hier in als username EN password

' or loginnaam like '%

gebruikt. (moet je wel ff de html lokaal opslaan en de maxlength ff wat groter zetten anders past ut niet). dan kun je inloggen zonder dat je een account hebt. altijd strings escapen dus :)

edit:

dezelfde bug zit in code-base code zelf zie ik net
vandaar

Doet iets met Cloud (MS/IBM)


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

dit is fijner:
PHP:
1
2
3
<?
$sql = 'select * from table where username="'. addslashes($username) .'"';
?>

aldus...

Klaar voor een nieuwe uitdaging.


  • pimlie
  • Registratie: November 2000
  • Laatst online: 17-09 19:08
ok, dan zou ik het zo doen:
PHP:
1
2
3
<?
$query2="select id,recht,bevestig from users where nickname=".addslashes($user_name)." and password=".addslashes($pass);
?>

  • [ti]
  • Registratie: Februari 2000
  • Niet online
PHP:
1
2
3
<?
$query2="select id,recht,bevestig from users where nickname=\"" . addslashes($user_name) . "\" and password=\"" . addslashes($pass) . "\"";
?>

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19
Op maandag 15 oktober 2001 15:35 schreef [ti] het volgende:
PHP:
1
2
3
<?
$query2="select id,recht,bevestig from users where nickname=\"" . addslashes($user_name) . "\" and password=\"" . addslashes($pass) . "\"";
?>
werkt tnx
Op maandag 15 oktober 2001 15:35 schreef pimlie het volgende:
ok, dan zou ik het zo doen:
PHP:
1
2
3
<?
$query2="select id,recht,bevestig from users where nickname=".addslashes($user_name)." and password=".addslashes($pass);
?>
werkt niet

Doet iets met Cloud (MS/IBM)

Pagina: 1