Trouble inserting session variables into a database

I get the following error message when I run the script:
Parse error: syntax error, unexpected T_VARIABLE in C:wampwwwNew Folder (2)process.php on line 24

I am trying to write the session variables to a table called schools in a table called school_users, this all works when I simply put words in ‘here’ in the MySQL command part of my script. So this shows its all OK, (the POST values also work), but I think the trouble is when I use this:

$_SESSION[‘school_name’] in the MySQL command part, that, I think is why I get the error. Help to tell me how to put these in SQL commands or renaming them to $variables or something would be greatly appreciated.

My script is below:

<?php session_start(); // This connects to the existing session ?> process <?php

session_register (“school_name”); // Create a session variable called name
session_register (“postcode”); // Create a session variable called job
session_register (“teacher_name”); // Create a session variable called name
session_register (“email”); // Create a session variable called job
session_register (“password”); // Create a session variable called name
session_register (“num_logins”); // Create a session variable called name

$_SESSION[‘school_name’] = $_POST[‘postcode’];
$_SESSION[‘postcode’] = $_POST[‘postcode’];
$_SESSION[‘techer_name’] = $_POST[‘teacher_name’];
$_SESSION[‘email’] = $_POST[‘email’];
$_SESSION[‘num_logins’] = $_POST[‘num_logins’];

mysql_connect(“localhost”, “root”, “******”) or die(mysql_error());
mysql_select_db(“school_users”) or die(mysql_error());
mysql_query(“INSERT INTO schools VALUES ( ‘$_SESSION[‘school_name’]’, ‘$_SESSION[‘postcode’]’, ‘$_SESSION[‘techer_name’]’, ‘$_SESSION[‘email’]’, ‘$_SESSION[‘num_logins’]’ )”);

?>

Thanks for any help.

P.S I am failry new to PHP so the solution is probably very simple.

MC

and again, the possibilaty of using variables inside of strings may apear to be a good way to write scripts. but it isn’t.

I’d sugest that u stop a string use a dot and attach the variable. by that dot.
thats why i like single quoted strings more then doubleqouted (they dont alow to use vars inside)

[php]mysql_query(‘INSERT INTO schools VALUES ( "’.$_SESSION[‘school_name’].’", “’.$_SESSION[‘postcode’].’”, “’.$_SESSION[‘techer_name’].’”, “’.$_SESSION[‘email’].’”, “’.$_SESSION[‘num_logins’].’” )’); [/php]
of cause thats the same as:
[php]mysql_query(“INSERT INTO schools VALUES ( '”.$_SESSION[‘school_name’]."’, ‘".$_SESSION[‘postcode’]."’, ‘".$_SESSION[‘techer_name’]."’, ‘".$_SESSION[‘email’]."’, ‘".$_SESSION[‘num_logins’]."’ )"); [/php]

hope that was ur line 24.

P.S.: if u realy wanna use vars inside strings u have to leave the arraykeys unqouted “…$array[key]…” instad of (wrong:) “…$array[‘key’]…”

Sponsor our Newsletter | Privacy Policy | Terms of Service