Foros del Web » Programando para Internet » PHP »

Parse error al acceder a una base de datos

Estas en el tema de Parse error al acceder a una base de datos en el foro de PHP en Foros del Web. Hola, soy muy pero muy nuevo en esto. Así que hice lo que decía arriba y empecé por seguir el curso de PCH que hay ...
  #1 (permalink)  
Antiguo 15/10/2009, 18:03
 
Fecha de Ingreso: octubre-2009
Mensajes: 7
Antigüedad: 14 años, 6 meses
Puntos: 0
Parse error al acceder a una base de datos

Hola, soy muy pero muy nuevo en esto. Así que hice lo que decía arriba y empecé por seguir el curso de PCH que hay en esta página (forosdelweb.com/wiki/Manual_de_PHP).
El caso es que en la última parte del manual de bases de datos hay un ejemplo de como acceder y leer los datos, yo lo seguí con los datos de mi base creada en mysql.
Acá les copio el código

Código PHP:
Ver original
  1. <?php
  2. //defino los parametros de la base de datos
  3. $servidor = 'localhost';
  4. $usuario = 'root';
  5. $clave = '';
  6. //me conecto
  7. $conexion=mysql_connect($servidor, $usuario, $clave);
  8. //selecciono la base de datos
  9. mysql_select_db('autos', $conexion);
  10. //selecciono el campo modelo de la tabla
  11. $query = mysql_query('SELECT * FROM tabladeautos');
  12.  
  13. $resultado = mysql_query($query, $conexion) or die(mysql_error());
  14.  
  15. //en totalcampos guardo la cantidad de registros
  16. $Totalcampos=mysql_num_rows($resultado);
  17.  
  18. ?>
  19.  
  20. <html>
  21. <head>
  22. </head>
  23. <body>
  24.  
  25. <?php
  26. //reviso los campos
  27. if ($total>0) {
  28.     while($fila = mysql_fetch_assoc($resultado)) {
  29.     echo '$fila['Modelo'] <br>';
  30.     }
  31. }
  32. ?>
  33.  
  34. </body>
  35. </html>


Y me da error, según dice "Parse error: parse error, expecting `','' or `';'' in C:\xampp\htdocs\formulario.php on line 29" que vendría a ser la línea:

echo '$fila['Modelo'] <br>';

Que hice mal? que me falta? no veo que falte ninguna , ni ;

Las configuraciones de php.ini y demás estan std según me lo instaló Xampp.

Desde ya les agradezco su ayuda.

Última edición por jam1138; 15/10/2009 a las 18:33
  #2 (permalink)  
Antiguo 15/10/2009, 18:33
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Parse error al acceder a una base de datos

Tema movido a PHP desde Configuración

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 15/10/2009, 18:35
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Parse error al acceder a una base de datos

Te sobran las comillas que rodean toda la sentencia. Claramente se ve que están rompiendo con las del índice el arreglo. Lo correcto:
Código PHP:
Ver original
  1. echo $fila['Modelo'] . '<br>';

Bienvenido

PD: Tú que tienes identificada la página y el error, puedes editar el Wiki para corregirlo .

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 15/10/2009, 18:51
 
Fecha de Ingreso: octubre-2009
Mensajes: 7
Antigüedad: 14 años, 6 meses
Puntos: 0
Muchas gracias!! El error fue mío porque eliminé un texto anterior que estaba entre comillas y no eliminé una de ellas.
El problema ahora es que al corregir eso me aparece en el explorador el siguiente error

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #3' at line 1

que significa?

acabo de modificar la línea que dice

$resultado = mysql_query($query, $conexion) or die(mysql_error());

por

$resultado = mysql_query($query, $conexion);

y me da un erro que dice:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\formulario.php on line 16

Donde la línea 16 vendría a ser la siguiente a la que modifiqué. Tengo datos en mi base de datos, los cargué con phpmyadmin

Última edición por GatorV; 16/10/2009 a las 10:37
  #5 (permalink)  
Antiguo 15/10/2009, 19:12
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Parse error al acceder a una base de datos

1. Aprende a leer los errores. Intenta entedenderlos, son lo suficientemente explicativos.
2. Solo por curiosidad, ¿por qué cambiaste el código?.

El primero error te está diciendo que la query que intentas ejecutar está mal (tiene un error de syntaxis). El segundo error te dice que la variable pasada a la función mysql_num_rows() no es válida (obviamente, si hubo un error anteriormente...).

Revisando tu código:
Código PHP:
Ver original
  1. $query = mysql_query('SELECT * FROM tabladeautos');
  2.  
  3. $resultado = mysql_query($query, $conexion) or die(mysql_error());
Si eso está así en el Wiki...

Tienes $query que es el resultado de ejecutar una función (no la query). Obviamente, no es un parámetro válido para la misma función que acabas de ejecutar.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 15/10/2009, 19:21
 
Fecha de Ingreso: octubre-2009
Mensajes: 7
Antigüedad: 14 años, 6 meses
Puntos: 0
No, ahora me doy cuenta que no esta así en el wiki. sino que soy un.....
Ahora entendí cual es el error. Muchas gracias!

Bien, ya pude solucionar la falla gracias a su ayuda.
Ahora la duda es la siguiente. Como todo el código esta en el archivo que ve el usuario, yo quiero que la parte de la conexión a la base de datos (y que contiene la contraseña) quede en otro archivo.
Como se hace eso? con otro archivo php? Y como lo llamo despues? Hay algún lugar donde se explique eso?

Última edición por GatorV; 16/10/2009 a las 10:36
  #7 (permalink)  
Antiguo 15/10/2009, 19:59
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: Parse error al acceder a una base de datos

Puedes usar archivos externos, los cuales llamarias con estas funciones

include
include_once
require
require_once

http://www.webmasterlibre.com/2006/0...hivos-con-php/
__________________
Como presentar nuestros datos por medio de tablas . clase Aco_DataGrid Version 1.4
  #8 (permalink)  
Antiguo 15/10/2009, 20:07
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Parse error al acceder a una base de datos

Cita:
Iniciado por GabrielTorres Ver Mensaje
[...] Ahora la duda es la siguiente. [...] Como se hace eso? con otro archivo php? Y como lo llamo despues? Hay algún lugar donde se explique eso?
¿Ya leíste toooodo?, ¿ya buscaste?, ¿ya probaste lo que encontraste y hubo errores?.

Esto no es un chat ni escuela personalizada. Por favor procura darle buen uso al foro.

Solo la invitación.

www.php.net/include

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #9 (permalink)  
Antiguo 15/10/2009, 20:09
 
Fecha de Ingreso: octubre-2009
Mensajes: 7
Antigüedad: 14 años, 6 meses
Puntos: 0
Me pongo a leer. Era lo que esperaba encontrar en el wiki pero no hablan de eso. Gracias por el dato!

ahí lo hice con Include. anda perfecto! muchas gracias.

Última edición por GatorV; 16/10/2009 a las 10:35
  #10 (permalink)  
Antiguo 15/10/2009, 20:21
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: Parse error al acceder a una base de datos

Si no lo encuentras en el foro, seguro lo encuentras en google
__________________
Como presentar nuestros datos por medio de tablas . clase Aco_DataGrid Version 1.4
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 00:18.