At 20:23 20.11.2002, Mr. BuNgL3 said:
--------------------[snip]--------------------
>Hi...
>I'm with a little sintax problem...
>The question is that i have two search fields (titulotxt and cdstxt) and i
>want to create an mysql condition... i trying:
>
> $sql1=($titulotxt) ? "titulo like '%".$titulotxt."%'":"";
> $sql2=($cdstxt) ? "cds like '$cdstxt'":"";
> $sql="SELECT * FROM divx WHERE" .$sql1 " && " .$sql2 " ORDER BY titulo";
>
>but the bastard is giving me a sintax error on the 3 line... Can anyone
>teach me how i must do to validate the mysql condition and make it work?
--------------------[snip]--------------------
As already said, put a space after the WHERE clause.
What happens if $sql1 or $sql2 are empty (as your example provisons)?
Create an $sql3 that combines $sql1 and $sql2, and construct your SQL
accordingly:
$sql1 = ($titulotxt ? null : "titulo like '%$titulotxt%'");
$sql2 = ($cdstxt ? null : "cds like '$cdstxt'");
$sql3 = $sql1 . ($sql1 && $sql2 ? ' AND ' : null) . $sql2;
$sql = 'SELECT * FROM divx ' .
($sql3 ? "WHERE $sql3 " : null) .
'ORDER BY titulo';
--
>O Ernest E. Vogelsinger
(\) ICQ #13394035
^ http://www.vogelsinger.at/
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php