Christian,
There are one of three ways this can be done:
1. as you mentioned below; is to assign the variable to another
variable first.
2. use the . syntax for string, as was mentioned in other responses to
your question
3. use {} syntax to explicitly tell PHP what is your variable. see
below for example
The thing with PHP is that when parsing strings it needs to determine
what is string and what is variable references. When you are using
arrays and other complex access methods for object, classes and the like
PHP gets confused and doesn't understand what to do. To solve this
problem you can do one of the three listed above. The first is basically
taking the complex access method and assigning to a variable that has
the simple access method. The third uses PHP syntax to explicitly tell
PHP what your variable is. Using you example you would write it like
this:
$result = pg_exec($c1,"SELECT o_plz FROM ort_tabelle WHERE o_plz =
${HTTP_SESSION_VARS['user_tabelleXu_o_plz']}");
NOTE: the {} brackets after the $ encapsulating the entire variable
access.
My preference is to use method 2 as it tends to be cleaner and a little
easier to read but it is nice to know all the options as it depends on
you application as to which is best for you.
Chris Ryan
chris@greatbridge.com
Christian Marschalek wrote:
>
> Can anyone please tell me why this does not work:
>
> $result = pg_exec($c1,"SELECT o_plz FROM ort_tabelle WHERE o_plz =
> $HTTP_SESSION_VARS['user_tabelleXu_o_plz']");
>
> And I have to do the following instead?
>
> $plz = $HTTP_SESSION_VARS['user_tabelleXu_o_plz'];
> $result = query_trans($c1, "SELECT o_plz FROM ort_tabelle WHERE o_plz =
> $plz");
>
> Tia again Chris
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
http://www.postgresql.org/search.mpl