Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: pacorico69 en 26 Marzo 2010, 23:07 PM

Título: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in ........
Publicado por: pacorico69 en 26 Marzo 2010, 23:07 PM
Buenas tardes a todos.
Estoy empenzado a programar en PHP, y como podrán observar cometo los mismos errores que los demás, me pueden ayudar no detecto el error en el siguiente código, mil gracias.

<html>
<body>
<?php
$db = mysql_connect('localhost', 'root', '') or die("No se puede establecer la conexión con la base de datos");
mysql_select_db("agenda", $db);
$result = mysql_query("SELECT nombre, apellidos FROM gente", $db);
if ($row = mysql_fetch_array($result)){
    echo "<table border = '1'> \n";
    echo "<tr> \n";
    echo "<td><b>Nombre</b></td> \n";
    echo "<td><b>Apellido</b></td> \n";
    echo "</tr> \n";
    do {
        echo "<tr> \n";
        echo "<td>".$row["nombre"]."</td> \n";
        echo "<td>".$row["apellidos"]."</td>\n";
        echo "</tr> \n";
    } while ($row = mysql_fetch_array($result));
    echo "</table> style\="margin-left: 50" echo "</table> \n";
} else
{
    echo "No se encontraron registros";
}
   mysql_free_result($result);
   mysql_close($db);
?>
</body>
</html>
Título: Re: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in ........
Publicado por: jdc en 26 Marzo 2010, 23:11 PM
Justo lo que no posteaste del error es lo importante. Postea el error completo, ahí dice en que línea está el error
Título: Re: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in ........
Publicado por: pacorico69 en 26 Marzo 2010, 23:17 PM
Mil disculpas, tiene usted razón.

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\xampp\htdocs\www\09_CONSULTAS_SELECT_TABLA_AGENDA_GENTE.php on line 19
Título: Re: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in ........
Publicado por: ~ Yoya ~ en 26 Marzo 2010, 23:32 PM
Tienes que contanear....
Código (php) [Seleccionar]

echo "</table> style\="margin-left: 50" echo "</table> \n";

O simplemente usar las comillas simples
Código (php) [Seleccionar]

echo '</table> style\="margin-left: 50" echo "</table> \n';

Título: Re: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in ........
Publicado por: pacorico69 en 26 Marzo 2010, 23:46 PM
Muchas gracias.

Ya funciona, queda algo por resolver, al final del despliegue deja el siguiente mensaje:

Nombre Apellido
pepito  conejo

style\="margin-left: 50" echo " \n  

creo que no debería salir, ya que son instrucciones, es probable que no hayan sido consideradas en la ejecución.
Título: Re: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in ........
Publicado por: jdc en 27 Marzo 2010, 00:01 AM
Cambia las comillas de margin por simples, agrega una comilla doble, luego antes del echo pone un ;

Y luego acostumbrate desde el principio a elegir que comillas usaras, simples o dobles. Sí eliges simple se usa doble para html y sí usas doble dejas la simple para html, sino suceden cosas como lo del código no interpretado.
Título: Re: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in ........
Publicado por: pacorico69 en 27 Marzo 2010, 00:15 AM
Gracias..

Espero haber entendido las instrucciones, es correcto ???

} while ($row = mysql_fetch_array($result));
    echo '</table> style\='margin-left: 50'"; echo "</table> \n';


Título: Re: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in ........
Publicado por: jdc en 27 Marzo 2010, 02:10 AM
Cita de: pacorico69 en 27 Marzo 2010, 00:15 AM
Gracias..

Espero haber entendido las instrucciones, es correcto ???

} while ($row = mysql_fetch_array($result));
   echo '</table> style\='margin-left: 50'"; echo "</table> \n';




Mira

con comilla simple en php:

Código (php) [Seleccionar]
echo '</table>';
echo '</table>';


WTF! xD A que le estas dando ese estilo?  style="margin-left: 50? de partida te falta un ";" despues del 50 y ademas se usa dentro de una etiqueta, por ejemplo <div  style="margin-left: 50;">contenido</div> ves? asi que se omite para la explicacion, luego lo aprendes tu.

y con comilla doble:

Código (php) [Seleccionar]
echo "</table>";
echo "</table>";


eso lo puedes hacer con un solo echo:

Código (php) [Seleccionar]
echo '</table>
</table>';


y sigue funcionando igual.

Saludos

EDITO:

Código (php) [Seleccionar]
<html>
<body>
<?php

$db mysql_connect('localhost''root''') or die("No se puede establecer la conexión con la base de datos");
mysql_select_db("agenda"$db);
$result mysql_query("SELECT nombre, apellidos FROM gente"$db);

if ($row mysql_fetch_array($result)){
echo "<table style=\"border: 4px red dotted;\" border=\"1\"> \n
<tr> \n
<td><b>Nombre</b></td> \n
<td><b>Apellido</b></td> \n
</tr> \n"
;
do {
echo "<tr> \n
<td>"
.$row["nombre"]."</td> \n
<td>"
.$row["apellidos"]."</td>\n
</tr> \n"
;
} while ($row mysql_fetch_array($result));
echo "</table>\n
</table> \n"
;

else 
{
echo "No se encontraron registros";
}
mysql_free_result($result); 
mysql_close($db); 
?>

</body>
</html>


Ahi esta funcionando, le agregue borde punteado a la tabla en rojo para que veas como se pondria el estilo (style) css dentro de una etiqueta html. Ademas quite varios echo para que veas lo mucho que se simplifica :) Te evitas varios problemas ;)
Título: Re: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in ........
Publicado por: KrossPock en 27 Marzo 2010, 04:30 AM
Si no queres poner dobles y simple, sino que solo un tipo, se escapan las comillas con \... por ej:


echo "\"Uso comillas dobles\"";