Am Mittwoch, 25. Januar 2006 20:36 schrieb Lazarus Long:
> db eval { SELECT * FROM `auction_items` "$where" ORDER BY
> `endtime`
> DESC LIMIT 15 }
>
The problem is, db eval will treat "where" as a tcl variable for it's internal
variable expansion, which works only in a limited sql-like, not tcl-like
fashion. If you want to build a part of the sql statement from scratch, you
have to write the final eval like this:
db eval "SELECT * FROM auction_items $where ORDER BY endtime"
This way $where is treated with tcl variable expansion *before* "db eval" gets
it. However, there is a small drawback, as you have to protect all variables
db eval should treat *internally* with backslashes.
Kind regards
Jan