|
Posted by Richard on 07/15/07 23:17
<pnberry@gmail.com> wrote in message
news:1184539579.012747.109870@o11g2000prd.googlegroups.com...
> Hi,
>
> I'm trying to write a query using the mysql interface and I do not
> know how to escape the parentheses I'm using in the query.
>
> Here's the query as I tested it in the mysql monitor and it works as
> it should:
>
> SELECT * FROM tblCustomers WHERE InactiveFlag = "0" AND (FirstName
> LIKE "%Paul%" or BusinessOrLastName LIKE "%Paul%" OR Id LIKE "%Paul
> %") ORDER BY BusinessOrLastname;
>
> Here is what I've tried in my PHP script (the strings $inactive &
> $search have the values "0" and "Paul" respectively):
>
> $result = mysql_query("SELECT * FROM tblCustomers WHERE InactiveFlag=
> \"$inactive\"
> AND \(FirstName LIKE \"%$search%\" OR BusinessOrLastName LIKE \"%
> $search%\" OR Id LIKE \"%$search%\"\)
> ORDER BY BusinessOrLastName",$db);
>
> I've attempted to escape the ()'s in the mysql_query() function with
> backslashes \( and \) but it isn't working. I've read the PHP manual
> about mysql_real_escape_string() but it's not clear if this will work
> or how I would apply it.
>
> Any leads would be appreciated. Thanks, Paul
Hi Paul,
you dont need to escape the parenthesis.
I use single quotes in queries, like this:
$this_inactive = " '" . $inactive . "' ";
$this_search = " '%" . $search . "%' ";
$this_query = "
SELECT * FROM tblCustomers
WHERE InactiveFlag = $this_inactive
AND (FirstName LIKE $this_search
OR BusinessOrLastName LIKE $this_search
OR Id LIKE $this_search
)
ORDER BY BusinessOrLastname;
";
echo $this_query;
$result = mysql_query($this_query,$db);
Good luck,
Richard.
Navigation:
[Reply to this message]
|