Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: jalbtercero en 1 Marzo 2016, 13:19 pm



Título: PHP problema 2
Publicado por: jalbtercero en 1 Marzo 2016, 13:19 pm
vale tengo este coigo con este error:Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /home/a3005457/public_html/puntuacion.php on line 9

Código
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. </head>
  5. <body>
  6. <?php
  7. function mostrarDatos($resultados) {
  8. if($resulatdos !=NULL){
  9. echo "-Nombre:"$resultados['nombre']"<br/>";
  10. echo "-Empates:"$resultados['empates']"<br/>";
  11. echo "-TU:"$resultados['tu']"<br/>";
  12. echo "-IA:"$resultados['ia']"<br/>";
  13. echo "********************************************<br/>";
  14. } else {
  15.  
  16. echo "<br/>No hay mas datos<br/>";
  17. }
  18.  
  19. require("connect_db.php")
  20. $result = mysql_query($link,"SELECT * FROM puntuacion");
  21. while($fila = mysql_fetch_array($result)) {
  22. mostrarDatos($fila);
  23. }
  24. mysqli_close($link);
  25. ?>
  26. </body>
  27. </html>
  28.  
  29.  


Título: Re: PHP problema 2
Publicado por: engel lex en 1 Marzo 2016, 13:30 pm
se descriptivo con el titulo de tu problema... tambien puedes ponerlos todos en un solo post, van de lo mismo...

sobre el problema
Citar
Devuelve un array de cadenas que corresponde a la fila recuperada, o FALSE si no hay más filas.

retorna false, cuidado con NULL en php
http://php.net/manual/es/language.types.null.php (http://php.net/manual/es/language.types.null.php)

siéntate a revisar bien tu código y usa un buen ide que te avise de los errores antes de correrlo

Código
  1. "-Nombre:"$resultados['nombre']"<br/>";

eso está mal... estás colocando una variable al aire y despues de un string... lo que te dice php es que ya que no hay un conector, debería terminar la frase...

el operador de concatenación en php es el punto

Código
  1. echo "-Nombre:".$resultados['nombre']."<br/>";

por otro lado, veo que no estás muy claro con las variables y estás copiando mucho código, porque en el problema anterior lo aplicaste y en este no... las variables en php se evalúan entre comillas dobles, es decir, puedes hacer

Código
  1. echo "-Nombre:$resultados['nombre']<br/>";

tienes otro error, vamos a ver si te das cuenta


Título: Re: PHP problema 2
Publicado por: jalbtercero en 1 Marzo 2016, 14:54 pm
se descriptivo con el titulo de tu problema... tambien puedes ponerlos todos en un solo post, van de lo mismo...

sobre el problema
retorna false, cuidado con NULL en php
http://php.net/manual/es/language.types.null.php (http://php.net/manual/es/language.types.null.php)

siéntate a revisar bien tu código y usa un buen ide que te avise de los errores antes de correrlo

Código
  1. "-Nombre:"$resultados['nombre']"<br/>";

eso está mal... estás colocando una variable al aire y despues de un string... lo que te dice php es que ya que no hay un conector, debería terminar la frase...

el operador de concatenación en php es el punto

Código
  1. echo "-Nombre:".$resultados['nombre']."<br/>";

por otro lado, veo que no estás muy claro con las variables y estás copiando mucho código, porque en el problema anterior lo aplicaste y en este no... las variables en php se evalúan entre comillas dobles, es decir, puedes hacer

Código
  1. echo "-Nombre:$resultados['nombre']<br/>";

tienes otro error, vamos a ver si te das cuenta

Hmmmmmm lo he probado como lo dices y me sigue dando error y no veo el otro....


Título: Re: PHP problema 2
Publicado por: engel lex en 1 Marzo 2016, 14:56 pm
probandolo como te dije que error te da? (recuerda que decir "me ha dado error" aquí no sirve XD copy/paste del error como minimo


Título: Re: PHP problema 2
Publicado por: jalbtercero en 1 Marzo 2016, 15:00 pm
probandolo como te dije que error te da? (recuerda que decir "me ha dado error" aquí no sirve XD copy/paste del error como minimo

el error es Parse error: syntax error, unexpected T_FUNCTION in /home/a3005457/public_html/puntuacion.php on line 8 y el codigo:

Código
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. </head>
  5. <body>
  6. <?php
  7. require("connect_db.php")
  8. function mostrarDatos($resultados) {
  9. if($resulatdos !=NULL){
  10. echo "-Nombre:$resultados['nombre']<br/>";
  11. echo "-Empates:$resultados['empates']<br/>";
  12. echo "-TU:$resultados['tu']<br/>";
  13. echo "-IA:$resultados['ia']<br/>";
  14. echo "********************************************<br/>";
  15. } else {
  16.  
  17. echo "<br/>No hay mas datos<br/>";
  18. }
  19.  
  20.  
  21. $result = mysql_query($link,"SELECT * FROM puntuacion");
  22. while($fila = mysql_fetch_array($result)) {
  23. mostrarDatos($fila);
  24. }
  25. mysql_close($link);
  26. ?>
  27. </body>
  28. </html>
  29.  
  30.  


Título: Re: PHP problema 2
Publicado por: xiruko en 1 Marzo 2016, 15:01 pm
En PHP no puedes mostrar arrays directamente entre comillas dobles, debes encerrarlos entre corchetes.

Para una variable que no sea un array, puedes hacer esto:

Código
  1. $nombre = "Pepe";
  2. echo "Hola $nombre";     // opción 1
  3. echo "Hola " . $nombre;  // opción 2

Pero para arrays, debe ser una de estas dos opciones:

Código
  1. $user = array("nombre" => "Pepe");
  2. echo "Hola {$user['nombre']}";    // opción 1
  3. echo "Hola " . $user['nombre'];   // opción 2

EDITO: Después de ver tu última respuesta... Los errores que cometes son bastante chorras e indican poco esfuerzo por tu parte.

1. Línea 7: Falta un ";" al final.
2. Línea 9: Usas la variable "$resulatdos" cuando debería ser "$resultados".
3. Deberías usar mysqli en lugar de mysql.

Saludos!


Título: Re: PHP problema 2
Publicado por: jalbtercero en 1 Marzo 2016, 15:23 pm
En PHP no puedes mostrar arrays directamente entre comillas dobles, debes encerrarlos entre corchetes.

Para una variable que no sea un array, puedes hacer esto:

Código
  1. $nombre = "Pepe";
  2. echo "Hola $nombre";     // opción 1
  3. echo "Hola " . $nombre;  // opción 2

Pero para arrays, debe ser una de estas dos opciones:

Código
  1. $user = array("nombre" => "Pepe");
  2. echo "Hola {$user['nombre']}";    // opción 1
  3. echo "Hola " . $user['nombre'];   // opción 2

EDITO: Después de ver tu última respuesta... Los errores que cometes son bastante chorras e indican poco esfuerzo por tu parte.

1. Línea 7: Falta un ";" al final.
2. Línea 9: Usas la variable "$resulatdos" cuando debería ser "$resultados".
3. Deberías usar mysqli en lugar de mysql.

Saludos!

de acuerdo ahora muy bien no entiendo lo de mysqli me da:


Warning: mysqli_query() expects parameter 1 to be mysqli, resource given in /home/a3005457/public_html/puntuacion.php on line 22



Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /home/a3005457/public_html/puntuacion.php on line 23


Warning: mysqli_free_result() expects parameter 1 to be mysqli_result, null given in /home/a3005457/public_html/puntuacion.php on line 26


Warning: mysqli_close() expects parameter 1 to be mysqli, resource given in /home/a3005457/public_html/puntuacion.php on line 27


Título: Re: PHP problema 2
Publicado por: engel lex en 1 Marzo 2016, 15:25 pm
usaste lso respectivos mysqli open y todos esos? estás simplemente cambiando mysql por mysqli? :s


Título: Re: PHP problema 2
Publicado por: jalbtercero en 1 Marzo 2016, 15:37 pm
usaste lso respectivos mysqli open y todos esos? estás simplemente cambiando mysql por mysqli? :s

vaaaale,ahora al menos no da error de syntaxis pero, en mi base de datos hay 3 filas con informacion y el php me devuelve 3 filas con:


No hay mas datos

No hay mas datos

No hay mas datos

EDITO:
Nada,nada era una tonteria, gracias por vuestro tiempo, :)