Foros del Web » Programando para Internet » PHP »

Obtengo error: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:

Estas en el tema de Obtengo error: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C: en el foro de PHP en Foros del Web. Hola! Estoy haciendo una especie de foro, y me salta este error al ejecutar el codigo desde el navegador, y no he hecho nada raro ...
  #1 (permalink)  
Antiguo 10/05/2011, 13:45
 
Fecha de Ingreso: abril-2011
Ubicación: En el mundo
Mensajes: 18
Antigüedad: 13 años
Puntos: 1
Obtengo error: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:

Hola! Estoy haciendo una especie de foro, y me salta este error al ejecutar el codigo desde el navegador, y no he hecho nada raro (creo)
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\xampp\htdocs\listatemas.php on line 17

Os dejo el codigo haber si me podeis echar una mano.

Código PHP:
<?php 
    
include("config.php");
    
$result=mysql_query("select * from temas"); 

echo
'
    <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1> 
    <TR><TD>&nbsp;Id. Tema</TD><TD>&nbsp;&nbsp;Tabla&nbsp;&nbsp;</TD><TD>&nbsp;Descripcion&nbsp;</TD><TD>&nbsp;Nº de Mensajes&nbsp;</TD></TR>
'
;  

   while(
$row mysql_fetch_array($result)) {
      echo
'<tr><td>&nbsp;'.$row["id_tema"].'</td>
               <td>&nbsp;<a href="mensajetabla.php?id='
.$row["id_tema"].'">'.$row["titulotema"].'</a>&nbsp;</td>
               <td>&nbsp;'
.$row["desctema"].'&nbsp;</td>
               '
;
               
$temas mysql_query("SELECT count(*) AS n_mensajes from mensajes where id_tema=".$row["id_tema"]."");
               
$row2 mysql_fetch_row($temas)
               
'<td>'.$row2["n_mensajes"].'</td></tr>';
   } 
   
mysql_free_result($result); 
   
mysql_close($link); 


?> 
</table> 
<?php
echo'<br> Si no encuentras el tema que buscas, puedes crear uno como usuario registrado pulsando <a href=creartema.php>aquí</a>';
?>
Gracias por adelantado

Última edición por otobusmzn; 10/05/2011 a las 13:46 Razón: error en el titulo
  #2 (permalink)  
Antiguo 10/05/2011, 13:49
 
Fecha de Ingreso: febrero-2011
Mensajes: 15
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Obtengo error: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_S

Te falta un ; en la linea 17
Exactamente pone

Código PHP:
$row2 mysql_fetch_row($temas
y deberia ser
Código PHP:
$row2 mysql_fetch_row($temas); 
  #3 (permalink)  
Antiguo 10/05/2011, 13:56
 
Fecha de Ingreso: abril-2011
Ubicación: En el mundo
Mensajes: 18
Antigüedad: 13 años
Puntos: 1
Respuesta: Obtengo error: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_S

Cita:
Iniciado por budoky Ver Mensaje
Te falta un ; en la linea 17
Exactamente pone

Código PHP:
$row2 mysql_fetch_row($temas
y deberia ser
Código PHP:
$row2 mysql_fetch_row($temas); 
Gracias! Me ha servido, aunque ahora me falla por otros lados, y nose porque :(
Mira, explico que es lo que intento hacer, y si podeis me ayudais

Estoy intentando agregar una columna con varias filas a la lista de los temas del foro que estoy creando. En esta columna, ira un recuento de los mensajes que hay en cada tema.
Gracias a lo que me has dicho, he dejado el codigo asi:
Código PHP:
<?php 
    
include("config.php");
    
$result=mysql_query("select * from temas"); 

echo
'
    <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1> 
    <TR><TD>&nbsp;Id. Tema</TD><TD>&nbsp;&nbsp;Tabla&nbsp;&nbsp;</TD><TD>&nbsp;Descripcion&nbsp;</TD><TD>&nbsp;Nº de Mensajes&nbsp;</TD></TR>
'
;  

   while(
$row mysql_fetch_array($result)) {
        
$temas mysql_query("SELECT count(*) AS n_mensajes from mensajes where id_tema=".$row["id_tema"]."");
        
$row2 mysql_fetch_row($temas);
      echo
'<tr><td>&nbsp;'.$row["id_tema"].'</td>
               <td>&nbsp;<a href="mensajetabla.php?id='
.$row["id_tema"].'">'.$row["titulotema"].'</a>&nbsp;</td>
               <td>&nbsp;'
.$row["desctema"].'&nbsp;</td>
               <td>'
.$row2["n_mensajes"].'</td></tr>';
   } 
   
mysql_free_result($result); 
   
mysql_close($link); 


?> 
</table> 
<?php
echo'<br> Si no encuentras el tema que buscas, puedes crear uno como usuario registrado pulsando <a href=creartema.php>aquí</a>';
?>
pero ahora me dice Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\listatemas.php on line 12

Perdonad por estas tonterias, pero me estoy iniciando. Gracias
  #4 (permalink)  
Antiguo 10/05/2011, 14:00
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Respuesta: Obtengo error: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_S

Linea 16 hace falta el ; (punto y coma) y el echo en la 17

Código PHP:
$row2 mysql_fetch_row($temas);
echo 
'<td>'.$row2["n_mensajes"].'</td></tr>'
Saludos.
__________________
Blog de Andres Ortiz: http://www.axpuntes.com/
  #5 (permalink)  
Antiguo 10/05/2011, 14:04
 
Fecha de Ingreso: abril-2011
Ubicación: En el mundo
Mensajes: 18
Antigüedad: 13 años
Puntos: 1
Respuesta: Obtengo error: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_S

Cita:
Iniciado por @ndreX! Ver Mensaje
Linea 16 hace falta el ; (punto y coma) y el echo en la 17

Código PHP:
$row2 mysql_fetch_row($temas);
echo 
'<td>'.$row2["n_mensajes"].'</td></tr>'
Saludos.
He modificado el codigo, por lo tanto la segunda linea que me indicas no haria falta, aunque ahora obtengo un error distinto
  #6 (permalink)  
Antiguo 10/05/2011, 14:12
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Respuesta: Obtengo error: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_S

Si, perdona, estaba respondiendo cuando ya te habían aclarado el problema.

Prueba con correr el query en mysql (phpmyadmin, por ejemplo) imprimelo y lo copias:

Código PHP:
echo "SELECT count(*) AS n_mensajes from mensajes where id_tema=".$row["id_tema"]; 
__________________
Blog de Andres Ortiz: http://www.axpuntes.com/
  #7 (permalink)  
Antiguo 10/05/2011, 14:21
 
Fecha de Ingreso: abril-2011
Ubicación: En el mundo
Mensajes: 18
Antigüedad: 13 años
Puntos: 1
Respuesta: Obtengo error: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_S

Cita:
Iniciado por @ndreX! Ver Mensaje
Si, perdona, estaba respondiendo cuando ya te habían aclarado el problema.

Prueba con correr el query en mysql (phpmyadmin, por ejemplo) imprimelo y lo copias:

Código PHP:
echo "SELECT count(*) AS n_mensajes from mensajes where id_tema=".$row["id_tema"]; 
Lo siento, pero no entiendo a que te refieres :(
Como te digo soy nuevo en esto, he probado lo que me dices de
Código:
SELECT count(*) AS n_mensajes from mensajes"
en el PHPMyAdmin y alli si me lo ejecuta
  #8 (permalink)  
Antiguo 10/05/2011, 14:29
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: Obtengo error: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_S

Prueba así:

Código PHP:
echo "SELECT count(*) AS n_mensajes from mensajes where id_tema='".$row["id_tema"]."'"
  #9 (permalink)  
Antiguo 10/05/2011, 14:35
 
Fecha de Ingreso: abril-2011
Ubicación: En el mundo
Mensajes: 18
Antigüedad: 13 años
Puntos: 1
Respuesta: Obtengo error: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_S

Cita:
Iniciado por Nexus10 Ver Mensaje
Prueba así:

Código PHP:
echo "SELECT count(*) AS n_mensajes from mensajes where id_tema='".$row["id_tema"]."'"
No funciona, mirad, ahora el codigo lo tengo asi
Código PHP:
<?php 
    
include("config.php");
    
$result=mysql_query("select * from temas"); 

echo
'
    <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1> 
    <TR><TD>&nbsp;Id. Tema</TD><TD>&nbsp;&nbsp;Tabla&nbsp;&nbsp;</TD><TD>&nbsp;Descripcion&nbsp;</TD><TD>&nbsp;Nº de Mensajes&nbsp;</TD></TR>
'
;  

   while(
$row mysql_fetch_array($result)) {
        
$temas mysql_query("SELECT count(*) AS n_mensajes from mensajes where id_tema='".$row["id_tema"]."'");
        
$row2 mysql_fetch_row($temas);
      echo
'<tr><td>&nbsp;'.$row["id_tema"].'</td>
               <td>&nbsp;<a href="mensajetabla.php?id='
.$row["id_tema"].'">'.$row["titulotema"].'</a>&nbsp;</td>
               <td>&nbsp;'
.$row["desctema"].'&nbsp;</td>
               <td>'
.$row2["n_mensajes"].'</td></tr>';
   } 
   
mysql_free_result($result); 
   
mysql_close($link); 


?> 
</table> 
<?php
echo'<br> Si no encuentras el tema que buscas, puedes crear uno como usuario registrado pulsando <a href=creartema.php>aquí</a>';
?>
y me dice: Notice: Undefined index: n_mensajes in C:\xampp\htdocs\listatemas.php on line 16
  #10 (permalink)  
Antiguo 10/05/2011, 14:39
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: Obtengo error: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_S

http://mx2.php.net/manual/es/functio...-fetch-row.php

segun yo no usa arrays asociativos sino numericos

Código PHP:
Ver original
  1. <td>'.$row2[0].'</td></tr>';
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #11 (permalink)  
Antiguo 10/05/2011, 14:48
 
Fecha de Ingreso: abril-2011
Ubicación: En el mundo
Mensajes: 18
Antigüedad: 13 años
Puntos: 1
Respuesta: Obtengo error: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_S

Cita:
Iniciado por mogurbon Ver Mensaje
[url]http://mx2.php.net/manual/es/function.mysql-fetch-row.php[/url]

segun yo no usa arrays asociativos sino numericos

Código PHP:
Ver original
  1. <td>'.$row2[0].'</td></tr>';
FUNCIONO!!!
Muchas gracias a todos!

Etiquetas: parse, unexpected
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:39.