PHP Varibles Help

I have a problem is passing the values across in the SQL in the PHP code below. The $z variable will get a value from the session, the $z value will then be used in the SQL. However the value doesn’t get passed across to the SQL code.

[php]<?
$db_conn = new COM(“ADODB.Connection”);
$connstr = “DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=”. realpath(“./Database1.mdb”).“;”;
$db_conn->open($connstr);
$z = $_SESSION[‘user’];
$MySql = “SELECT * FROM users_details WHERE user_id = (SELECT users_id FROM users_login WHERE Username =‘$z’)”;
$rs = $db_conn->Execute($MySql);

while(!$rs->EOF){
$user_id = $rs->Fields(“user_id”)->value;
$surname = $rs->Fields(“surname”)->value;
$forname = $rs->Fields(“forname”)->value;
$DOB = $rs->Fields(“DOB”)->value;
$gender = $rs->Fields(“gender”)->value;
$email= $rs->Fields(“email”)->value;

$rs->MoveNext();

?>[/php]

Any ideas how i can passed the value across, or is there another method of doing this?

Thanks in advance for your help.

what happens when you print the contents of session?

[php]print_r($_SESSION);[/php]

can you see the value you are looking for?

when i print $z to the screen it showed the varible i wanted, but won’t keep this value in the SQL query??

try this

[php]$MySql = “SELECT * FROM users_details WHERE user_id = (SELECT users_id FROM users_login WHERE Username ='” . $z . “')”;[/php]

where are you printing $z?

i tried that but no joy… i printed the SQL code out and found that a space has been added to the varible name (see code below)

SELECT * FROM users_details WHERE user_id = (SELECT users_id FROM users_login WHERE Username = 'Richard ')

Why has a space in the; 'Richard ') been added? ive checked my code over and no where dose it add a space (note this is doing the .$z. method)

use this

[php]$z = trim($_SESSION[‘user’]);[/php]