Re: Single Quotes in Form Inputs

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

 



You can also use addslashes

On Mon, Jul 27, 2009 at 11:46 PM, Niel Archer <not@xxxxxxxxxx> wrote:

> > Hi,
> >
> >
> >
> > I have a form in which my sales reps can add new clients into the
> database,
> > but I'm running into a problem if the client's name includes a single
> quote,
> > such as O'Henry, when it comes time to input the form data into the
> database
> > table.  I'm guessing I need to use ereg_replace, or something similar, to
> > change the single quote, but I still can't seem to get the syntax right.
> > Any help would be appreciated.  For what it's worth, here is a shortened
> > version of what I have:
>
> You shouldn't be trusting form data.  Single quotes can also be used to
> add SQL injection.
>
> Replace these two lines:
>
> > $ firstName = "$_POST[form_firstName]";
> > $ lastname = "$_POST[form_lastName]";
>
> with:
>
> $ firstName = mysql_real_escape_string($_POST['form_firstName'], $conn);
> $ lastname = mysql_real_escape_string($_POST['form_lastName'], $conn);
>
> Where $conn is your connection resource. Note also I've quoted the key
> names, as they should be unless they are valid constants.
>  This will escape any newlines, apostrophes (single quotes), etc. and is
> the absolute minimum you should be doing with any data you do not supply
> yourself
>
> > $query = mysql_query("INSERT INTO customers (`cust_first`,`cust_last`)
> > VALUES ('$firstName','$lastName')");
> >
> >
> >
> > Ben Miller
>
> BTW ereg functions are deprecated in PHP 5.3, so now would be a good
> time to start using the PCRE equivalents.
>
>
> --
> Niel Archer
> niel.archer (at) blueyonder.co.uk
>
>
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


-- 
Regards
MANU

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

  Powered by Linux