Thread: E_PARSE error ?
I'm using php5, postgresql 8.3, apache2.2.8, FreeBSD 7.0 I don't understand the message: *Parse error*: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING the guilty line is: list($page_id)=sqlget(" select page_id from pages where name='$_SERVER['SCRIPT_NAME']'"); the variable value is "/index.php" however, at the time of execution this has been cleared So, the question is - What is the unexpected T_ENCAPSED_AND_WHITESPACE? and What is actually expected? Are we talking about the content of $_SERVER['SCRIPT_NAME'] or what is the syntax error? This is within php code; could it be that the parser is reading this as something else, like HTML? I'm lost :((
Hi, I think, this is the wrong list, it appears to be a PHP error. Anyway, try to put the global $_SERVER['SCRIPT_NAME'] into {}brackets: list($page_id)=sqlget("select page_id from pages where name='{$_SERVER['SCRIPT_NAME']}'"); Hope, You're not lost anymore ... Ludwig PJ schrieb: > I'm using php5, postgresql 8.3, apache2.2.8, FreeBSD 7.0 > I don't understand the message: > > *Parse error*: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, > expecting T_STRING or T_VARIABLE or T_NUM_STRING > > the guilty line is: > > list($page_id)=sqlget(" > select page_id from pages where name='$_SERVER['SCRIPT_NAME']'"); > > the variable value is "/index.php" > > however, at the time of execution this has been cleared > > So, the question is - What is the unexpected T_ENCAPSED_AND_WHITESPACE? > and What is actually expected? Are we talking about the content of > $_SERVER['SCRIPT_NAME'] or what is the syntax error? This is within > php code; could it be that the parser is reading this as something > else, like HTML? > I'm lost :(( >
On Tue, Jun 3, 2008 at 10:14 AM, PJ <af.gourmet@videotron.ca> wrote: > I'm using php5, postgresql 8.3, apache2.2.8, FreeBSD 7.0 > I don't understand the message: > > *Parse error*: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting > T_STRING or T_VARIABLE or T_NUM_STRING > > the guilty line is: > > list($page_id)=sqlget(" > select page_id from pages where name='$_SERVER['SCRIPT_NAME']'"); Inside quotes, you need to remove the single quotes around your array index. Seems wrong, I know, but that's what php says to do. I prefer to concatenate. so either: list($page_id)=sqlget("select page_id from pages where name='$_SERVER[SCRIPT_NAME]'"); list($page_id)=sqlget("select page_id from pages where name=".$_SERVER['SCRIPT_NAME']."); are legal.