I am having trouble using session-variables when they are needed to receive data from a table.
If I put the variable $FirstName, between single or double quotes in attempt to get some data from a table players, I get an error saying: Parse error: syntax error, unexpected T_VARIABLE... on the code-line I've commented.
If I skip the quotes around the $FirstName, I get en error on the next code-line, stating: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource.
<?PHP
session_start();
//putting variables from the session-array into local variables
$FirstName = $_SESSION['GameName'][0];
$LastName = $_SESSION['GameName'][1];
$GameName = $FirstName . " " . $LastName;
echo "$GameName"; //this is echoing normally, indicating that the code is working so far.
//connecting to database
mysql_connect(****, *****, *****) or die(mysql_error());
mysql_select_db(****) or die(mysql_error());
//extracting data from the result-array
$result1 = mysql_query('SELECT Funds, Salory FROM Players WHERE FirstName="$FirstName" '); //here is some kind of trouble..
$row1 = mysql_fetch_array($result1);
echo $row1['Funds'];
echo $row1['Salory'];
?>
You can only place variables inside of double quotes, not single quotes. (Single quotes also will not evaluate escaped characters like \n )
While you do have it in double quotes at first glance, keep in mind those quotes are part of the SQL statement, not the PHP code. You would need to do one of these two:
....
//connected to database
$FirstName = $_SESSION['GameName'][0];
$tablename = $_SESSION['table'][0];
$result = mysql_query('SELECT Funds, Salory FROM "'.$tablename.'" WHERE FirstName="'.$FirstName.'" '); //something wrong where it says $tablename, because if I simply insert the name of the table, everything works.
$row = mysql_fetch_array($result);
//retrieving data from $row
....
I've tried so many different quote-combinations in the query-line. Can't get it to work.
Any ideas?
SELECT `tblSample`.`SampleField` FROM `tblSample` LEFT JOIN `tblExample` ON `tblExample`.`SampleID` = `tblSample`.`ID` WHERE `tblExample`.`Field3`='Whatever'
That is for example purpose, much better to actually write: