Thread: Variable question...

Variable question...

From
"Christian Marschalek"
Date:
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


Re: Variable question...

From
"Mitch Vincent"
Date:
Try --

    $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
>


Re: Variable question...

From
Chris Smith
Date:
Hey,

It might not be translating the array contents properly (because of the
quotes inside the $HTTP_SESSION_VARS? Not sure)...

Try -

$result = pg_exec($c1, "SELECT o_plz FROM ort_tabelle WHERE o_plz =
".$HTTP_SESSION_VARS['user_tabelleXu_o_plz']);

which basically appends the session variable onto the end of the query..

> 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");

--

     Chris Smith
http://www.squiz.net

RE: Variable question...

From
"Christian Marschalek"
Date:
> Try --
>
>     $result = pg_exec($c1,"SELECT o_plz FROM ort_tabelle
> WHERE o_plz =".
>     $HTTP_SESSION_VARS["user_tabelleXu_o_plz"]);

Hell..... I'm doing this anyway in another script.. Thanks ;)

But I wonder how you would do that within the string correctly :) (the
error message php gives me does not tell me anything usefull;)


---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly




RE: Variable question...

From
"Christian Marschalek"
Date:
Thanks :) Got that answer just a moment ago...
I'm doing this in another script anyway... *dizzy*

Well now it would be interessting to know how to accomplish this without
this "work around".
The PHP authors must have thought about a way to use variables with text
marks inside strings, don't they?

regards

> -----Original Message-----
> From: Chris Smith [mailto:csmith@squiz.net]
> Sent: Thursday, May 10, 2001 2:49 AM
> To: Christian Marschalek; [PHP] PostgreSQL
> Subject: Re: [PHP] Variable question...
>
>
> Hey,
>
> It might not be translating the array contents properly
> (because of the
> quotes inside the $HTTP_SESSION_VARS? Not sure)...
>
> Try -
>
> $result = pg_exec($c1, "SELECT o_plz FROM ort_tabelle WHERE o_plz =
> ".$HTTP_SESSION_VARS['user_tabelleXu_o_plz']);
>
> which basically appends the session variable onto the end of
> the query..
>
> > 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");
>
> --
>
>      Chris Smith
> http://www.squiz.net
>


---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html




Re: Variable question...

From
Chris Ryan
Date:
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




Re: Variable question...

From
"Christian Marschalek"
Date:
> Try --
>
>     $result = pg_exec($c1,"SELECT o_plz FROM ort_tabelle
> WHERE o_plz =".
>     $HTTP_SESSION_VARS["user_tabelleXu_o_plz"]);

Hell..... I'm doing this anyway in another script.. Thanks ;)

But I wonder how you would do that within the string correctly :) (the
error message php gives me does not tell me anything usefull;)


---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly




Re: Variable question...

From
"Christian Marschalek"
Date:
Thanks :) Got that answer just a moment ago...
I'm doing this in another script anyway... *dizzy*

Well now it would be interessting to know how to accomplish this without
this "work around".
The PHP authors must have thought about a way to use variables with text
marks inside strings, don't they?

regards

> -----Original Message-----
> From: Chris Smith [mailto:csmith@squiz.net]
> Sent: Thursday, May 10, 2001 2:49 AM
> To: Christian Marschalek; [PHP] PostgreSQL
> Subject: Re: [PHP] Variable question...
>
>
> Hey,
>
> It might not be translating the array contents properly
> (because of the
> quotes inside the $HTTP_SESSION_VARS? Not sure)...
>
> Try -
>
> $result = pg_exec($c1, "SELECT o_plz FROM ort_tabelle WHERE o_plz =
> ".$HTTP_SESSION_VARS['user_tabelleXu_o_plz']);
>
> which basically appends the session variable onto the end of
> the query..
>
> > 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");
>
> --
>
>      Chris Smith
> http://www.squiz.net
>


---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html




Re: Variable question...

From
Chris Ryan
Date:
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