Philip has already made it clear that this was not his problem, but still, Dieter Maurer wrote:
Just a remark:
SQL methods do *NOT* look at the DTML namespace *AT ALL*, just at REQUEST (or the expliciitly passed keyword arguments).
Thus, "dtml-with", "dtml-let" and friends are all ineffective with respect to ZSQL methods.
My experience is somewhat different: ZSQL methods in general *DO* look at the namespace just like normal DTML methods, with two exceptions: 1) The major one, is that Dieter's remark does describe (almost) correctly the behavior of <dtml-sqlvar> and <dtml-sqltest>. These two tags only look at a very limited local namespace, initialized with the REQUEST and passed arguments; but even this namespace may be modified, *INSIDE* the ZSQL method, with <dtml-in> and <dtml-let>. However, other tags behave quite normally -- which means that a lot of the problems can be bypassed by thoughtful use of <dtml-var>, especially using the sql_quote modifier (BTW, it is by virtue of this that you can call other methods -- even other ZSQL methods -- from within a ZSQL method). 2) Changing REQUEST does *not* update the local namespace, that is, within a ZSQL method, <dtml-call "REQUEST.set('some_var', 17)"> <dtml-var some_var> doesn't work; but <dtml-var "REQUEST['some_var']"> Does. Hope this helps, Shai.