C.R.Vegelin wrote:
> Hello David, Jim,
>
> Thanks for your response.
> Yes, I do have session_start() at the top of Report.php.
> The reason for having the query on a different page than the result
> is that the result may be sent to various output types / scripts.
> I will change my code as follows:
>
> Engine.php
> -------------
> $result = mysqli_query($connect, $myquery);
> if (!$result) error ...
> if (mysqli_num_rows($result) == 0) error ...
> // fill $_SESSION['results'] with query result
> switch ($output)
> {
> case "HTML": header("Location: Report.php"); break;
WRONG!!!
there is no reason to do a redirect, use an include to run code
relevant to the selected $output (and you'll have the result set available
for no extra charge).
and you can't stick resources (e.g. a resultset id) into session
and expect them to persist - the value may be there, but the resource
it pointed to is loooooong gone by the time the second script starts.
> case "CSV": ...
> case "XML": ...
> case "PDF": ...
> }
>
> Thanks again for your advice.
> Regards, Cor
> ----- Original Message -----
> From: David Giragosian
> To: C.R.Vegelin ; php-general
> Sent: Thursday, November 01, 2007 5:23 PM
> Subject: Re: [PHP] Transfer query result to another script
>
>
> On 11/1/07, C.R.Vegelin <[EMAIL PROTECTED]> wrote:
> Hi All,
>
> Q: Is it possible to transfer a query result to another script ?
> For example with (fragments of) the following 2 scripts:
>
> Engine.php
> ----------------
> $result = mysqli_query($connect, $myquery);
> if (!$result) error ...
> if (mysqli_num_rows($result) == 0) error ...
> $_SESSION['result'] = $result;
> header("Location: Report.php");
>
> Report.php
> ----------------
> $result = $_SESSION['result'];
> while ($row = mysqli_fetch_array($result)) ...
>
> This last line gives "Couldn't fetch mysqli_result".
> Is this because the result set is local to Engine.php ?
>
> TIA, Cor
>
> Cor,
>
> Do you have session_start() at the top of Report.php?
>
> The manual shows an example of passing a php created class object using a
> session variable, with the caveat of needing to include the class definition
> on each page.
>
> It may be different for a mysql result object though.
>
> Why do you need the query on a different page than the result?
>
> David
>
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php