Re: addslashes + stripslashes + mysql question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you very much for the reply.
That was what I needed to know.

That this is the Normal behavior and will not vary in different
configurations (exept of the magic_quotes_XXX settings that I'm aware of)


Milen


----- Original Message -----
From: "Firan Corneliu" <capi@xxxxxxxxxxxx>
To: "Petzo" <petzo@xxxxxxxxx>
Cc: <php-db@xxxxxxxxxxxxx>
Sent: Monday, May 16, 2005 4:09 PM
Subject: Re:  addslashes + stripslashes + mysql question


> You have the string " ' \ "
> With addslashes it becomes " '\ \\ "
>
> When you insert it into the database
> it goes into a query like this
>
> "update table set field=' '\ \\ ' "
>
> But that inserts into the field only " ' \ ",
> in other words the original string.
>
> It is a normal behaviour and you should
> omit the stripslashes function.
>
> Hope it helps
> Firan Corneliu
>
> On Mon, 2005-05-16 at 11:20 +0300, Petzo wrote:
> > Hi,
> >
> >     My question is about the norlmal behaviour of PHP and MYSQL but I
cant
> > explain it without a simple example. Thank you for reading:
> >
> >     I have the following code:
> > --------------------------------------------------------------------
> > <?php
> > print $t = $_POST['txt'];
> > print $t = addslashes($t);
> >
> >    @ $db = mysql_pconnect(xxx,xxx,xxx);
> >    mysql_select_db('test');
> >
> >    $q = "update ttable set ffield='$t'";
> >    mysql_query($q);
> >
> >    $q = "select * from ttable";
> >    $result = mysql_query($q);
> >    $bo = mysql_fetch_array($result);
> >
> > print $t = $bo['ffield'];
> > print $t = stripslashes($t);
> > ?>
> > --------------------------------------------------------------------
> >
> >
> > from a HTML form I send variable:
> > --------------------------------------------------------------------
> > ' \ \' \\ \\\
> > --------------------------------------------------------------------
> >
> > after addshashes it becomes:
> > --------------------------------------------------------------------
> > \' \\ \\\' \\\\ \\\\\\
> > --------------------------------------------------------------------
> >
> > after that it gets in the database
> >
> > but after I get it out it becomes:
> > --------------------------------------------------------------------
> > ' \ \' \\ \\\
> > --------------------------------------------------------------------
> > (without the backslashes!)
> >
> > and ofcourse after stripslashes it gets messed-up:
> > --------------------------------------------------------------------
> > ' ' \ \
> > --------------------------------------------------------------------
> >
> > So my question is if this is a normal behaviour for PHP+MYSQL or it may
vary
> > indifferent conficurations or versions of both php or mysql.
> > It's not a bad thing to be like that but I wonder if my code will behave
the
> > same at most systems.
> >
> > Thank you very much
> >
>
>

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux