Re: Select Value with 's
| From: | ma | Date: | Wed, 05 Nov 2003 18:55:55 +0000 |
| Subject: | Re: Select Value with 's | ||
| Groups: | php.db | ||
| Request: | Send a blank email to php-db+get-31450@lists.php.net to get a copy of this message | ||
hi
think you should use ' when you create the query and " in the SQL-statement
for comparison:
$qry = 'SELECT *
FROM customer
WHERE customer.customer LIKE "'.$FF.'"';
_ma
# life would be easier if i knew the source code...
> Von: "Aleks @ USA.net" <Aleks.k@usa.net>
> Datum: Wed, 5 Nov 2003 13:52:51 -0500
> An: "'CPT John W. Holmes'" <holmes072000@charter.net>,
> "'ma'"
> <grillen@abendstille.at>, "'PHP-DB'" <php-db@lists.php.net>
> Betreff: RE: [PHP-DB] Select Value with 's
>
> Thanks John for the answer.... But...
>
> Now my select statement on the Result.php page errors out when
> The value has the [']in it..... What the select statement looks like now
> Is
>
> Select *
> From customer
> Where customer.customer LIKE 'St Mary's Hospital'
>
> Error message is
>
> Warning mysql_fetch_array(): supplied argument is not a valid MySQL result
>
>
>
>
>
> -----Original Message-----
> From: CPT John W. Holmes [mailto:holmes072000@charter.net]
> Sent: Wednesday, November 05, 2003 1:45 PM
> To: Aleks @ USA.net; 'ma'; 'PHP-DB'
> Subject: Re: [PHP-DB] Select Value with 's
>
> From: "Aleks @ USA.net" <Aleks.k@usa.net>
>> First I build my select list:
>>
>> <SELECT NAME="Cid" size="1">
>> <OPTION Selected VALUE="">All Customers</OPTION>
>>
>> <?
>> While ($Site = mysql_fetch_array($S)) {
>> $Sid = $Site["CID"];
>> $SName = htmlspecialchars($Site["Customer"]);
>> echo("<option value='$SName'>$SName</options>\n");
>
> Easy fix: echo("<option value=\"$SName\">$SName</options>\n");
>
> Long version:
>
> htmlspecialchars() does not change single quotes unless you pass ENT_QUOTES
> as the second parameter. What you're ending up with is a value such as:
>
> value='St. Mary's'
>
> which, HTML will interpret as a value of "St. Mary" and an unknown s'
> attribute. So,
>
> $SName = htmlspecialchars($Site["Customer"], ENT_QUOTES); echo("<option
> value='$SName'>$SName</options>\n");
>
> will convert single quotes to HTML entities and not affect the value.
>
> The "easy fix" above works because it uses double quotes around the value
> and htmlspecialchars() already changes double quotes by default.
>
> ---John Holmes...
>