Foros del Web » Programando para Internet » PHP »

Problema Para Consultar BD Mysql

Estas en el tema de Problema Para Consultar BD Mysql en el foro de PHP en Foros del Web. Buenas Noches: Soy Novato en Programacion Con PHP, en este momento estoy tratando de hacer una consulta a una base de datos en Mysql desde ...
  #1 (permalink)  
Antiguo 27/07/2009, 23:21
 
Fecha de Ingreso: julio-2009
Ubicación: Bogota
Mensajes: 37
Antigüedad: 14 años, 9 meses
Puntos: 0
Problema Para Consultar BD Mysql

Buenas Noches:

Soy Novato en Programacion Con PHP, en este momento estoy tratando de hacer una consulta a una base de datos en Mysql desde un formulario que diseñe en una pagina PHP, he buscado varias ayudas y no he podido solucionar el problema y quisiera saber sitengo algun error en el codigo o como podrian ayudarme.

Al intentar buscar datos me genera el siguiente error:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\AppServ\www\Pruebas\consulta3.php on line 18

El codigo de mi pagina de consulta es el siguiente:

Código PHP:
<?php
//Configuracion de la conexion a base de datos
$bd_host "sara"
$bd_usuario "admin"
$bd_password "admin"
$bd_base "prueba";

$con mysql_connect($bd_host$bd_usuario$bd_password);

mysql_select_db($bd_base$con); 

$cedula $_POST'cedula' ];
$fecha $_POST'fecha' ];
$mail $_POST'mail' ];
$nombre $_POST'nombre' ];
$telefono $_POST'telefono' ];

$consulta mysql_query("SELECT * FROM personal WHERE cedula LIKE ".$Cedula." AND fecha LIKE ".$FECHA." AND mail LIKE ".$Mail." AND nombre LIKE ".$Nombre." AND telefono LIKE ".$Telefono" ",$con );


//muestra los datos consultados

while($row mysql_fetch_array($consulta)){
    echo 
"<p>".$row['Cedula']." - ".$row['FECHA']." - ".$row['Mail']." - ".$row['Nombre']." - ".$row['Telefono'].  "</p> ";
}
?>
Y El formulario creado tiene lo siguiente:

Código PHP:
<form id="form1" name="consulta" method="post" action="consulta3.php" onsubmit="MostrarConsulta('consulta3.php'); return false">
  <
p>
    <
label>Cedula
      
<input type="text" name="Cedula" id="Cedula" />
    </
label>
  </
p>
  <
p>
    <
label>Fecha
      
<input type="text" name="Fecha" id="Fecha" />
    </
label>
  </
p>
  <
p>
    <
label>Mail
      
<input type="text" name="Mail" id="Mail" />
    </
label>
  </
p>
  <
p>
    <
label>Nombre
      
<input type="text" name="Nombre" id="Nombre" />
    </
label>
  </
p>
  <
p>
    <
label>Telefono
      
<input type="text" name="Telefono" id="Telefono" />
    </
label>
  </
p>
  <
p>
    <
label>
      <
input type="submit" name="Enviar" id="Enviar" value="Enviar" onsubmit="MostrarConsulta('consulta3.php'); return false"  />
    </
label>
  </
p>
</
form
Agradezco de antemano por su colaboracion.
  #2 (permalink)  
Antiguo 27/07/2009, 23:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema Para Consultar BD Mysql

Lo que te falta es que la consulta de la base de datos la escribas entre comillas.

Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT * FROM personal WHERE cedula LIKE '".$Cedula."' AND fecha LIKE '".$FECHA."' AND mail LIKE '".$Mail."' AND nombre LIKE '".$Nombre."' AND telefono LIKE '".$Telefono"' ",$con );
  #3 (permalink)  
Antiguo 27/07/2009, 23:44
 
Fecha de Ingreso: julio-2009
Ubicación: Bogota
Mensajes: 37
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema Para Consultar BD Mysql

Hola abimaelrc,

Agradezco tu respuesta, te cuento que probe tu sugerencia pero me sigue generando el mismo error.

Se te ocurre alguna otra cosa que pueda tener mal??

y Muchas gracias.
  #4 (permalink)  
Antiguo 28/07/2009, 00:02
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema Para Consultar BD Mysql

podrias escribir esto y nos dices que te salio

Código PHP:
Ver original
  1. $cedula = $_POST[ 'cedula' ];
  2. $fecha = $_POST[ 'fecha' ];
  3. $mail = $_POST[ 'mail' ];
  4. $nombre = $_POST[ 'nombre' ];
  5. $telefono = $_POST[ 'telefono' ];
  6.  
  7. var_dump($cedula);
  8. var_dump($fecha);
  9. var_dump($mail);
  10. var_dump($nombre);
  11. var_dump($telefono);
  #5 (permalink)  
Antiguo 28/07/2009, 00:17
 
Fecha de Ingreso: julio-2009
Ubicación: Bogota
Mensajes: 37
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema Para Consultar BD Mysql

Hola abimaelrc,

Que pena molestarte, Te cuento que hice lo que me sugeriste y sigo teniendo el mismo error, ya no se que podria hacer.

La linea de error hace referencia a la consulta en BD MySQL por si te sirve de algo.

En espera de tus comentarios.

Última edición por harris00ea; 28/07/2009 a las 00:18 Razón: Faltaba Informacion.
  #6 (permalink)  
Antiguo 28/07/2009, 00:49
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema Para Consultar BD Mysql

Lo que te di no es para corregir es para ver los datos quita la consulta de la base de datos momentaneamente y escribe aqui los datos que te trajeron los var_dump
  #7 (permalink)  
Antiguo 28/07/2009, 00:54
 
Fecha de Ingreso: julio-2009
Ubicación: Bogota
Mensajes: 37
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema Para Consultar BD Mysql

Hola abimaelrc,

Gracias de nuevo por tu atencion, perdona lo malo en esto pero hasta ahora empiezo, deshabilite la consulta y te cuento que ya no me genera el error pero me da resultados Null,

NULL NULL NULL NULL NULL

a pesar de dar distintos valores en el formulario.

Quedo en espera de tus comentarios.

Gracias por tu ayuda.
  #8 (permalink)  
Antiguo 28/07/2009, 00:59
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema Para Consultar BD Mysql

Eso quiere decir que todos los post no te estan trayendo datos. Es como si no existieran o si no enviaras informacion de un formulario. Esto puede ocurrir cuando tratas de acceder al codigo directamente escribiendo la direccion del codigo sin usar los formularios. Tienes que escribir exactamente los nombres de cada campo que hayas enviado informacion. Si escribiste Nombre no lo puedes llamar $_POST["nombre"] tiene que ser $_POST["Nombre"]
  #9 (permalink)  
Antiguo 28/07/2009, 01:11
 
Fecha de Ingreso: julio-2009
Ubicación: Bogota
Mensajes: 37
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema Para Consultar BD Mysql

Hola abimaelrc,

Siento Molestarte tanto, corregi lo que me dijiste pero sigo teniendo valores nulos tendre algun problema en el formulario??

En espera de tus comentarios y agradeciendo tu ayuda.
  #10 (permalink)  
Antiguo 28/07/2009, 01:17
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema Para Consultar BD Mysql

podrias escribir el formulario como lo escribiste ahora?
  #11 (permalink)  
Antiguo 28/07/2009, 01:26
 
Fecha de Ingreso: julio-2009
Ubicación: Bogota
Mensajes: 37
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema Para Consultar BD Mysql

Este es el codigo de mi formulario.

Código PHP:
<form id="consulta" name="consulta" method="post" action="consulta3.php" onsubmit="MostrarConsulta('consulta3.php'); return false">
  <
p>
    <
label>Cedula
      
<input type="text" name="Cedula" id="Cedula" />
    </
label>
  </
p>
  <
p>
    <
label>Fecha
      
<input type="text" name="FECHA" id="FECHA" />
    </
label>
  </
p>
  <
p>
    <
label>Mail
      
<input type="text" name="Mail" id="Mail" />
    </
label>
  </
p>
  <
p>
    <
label>Nombre
      
<input type="text" name="Nombre" id="Nombre" />
    </
label>
  </
p>
  <
p>
    <
label>Telefono
      
<input type="text" name="Telefono" id="Telefono" />
    </
label>
  </
p>
  <
p>
    <
label>
      <
input type="submit" name="Enviar" id="Enviar" value="Enviar" onsubmit="MostrarConsulta('consulta3.php'); return false"  />
    </
label>
  </
p>
</
form
  #12 (permalink)  
Antiguo 28/07/2009, 01:35
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema Para Consultar BD Mysql

En todo caso el problema esta en el javascript. Viendo mas de cerca tu codigo, posiblemente cuando ingresas el codigo de javascript ahi te trae algun error. Porque si le das submit sin usar la funcion de MostrarConsulta() de javascript te debe salir los valores. Claro esta los $_POST deben estar escritos conforme al nombre de los campos si la primera esta en letra mayuscula debes colocar la primera letra en mayuscula. Trata de evitar usar el onsubmit. borralo momentaneamente y dale submit a ver si te trae los datos los var_dump. Solo es una prueba para ir verificando si eso es el error
  #13 (permalink)  
Antiguo 28/07/2009, 01:42
 
Fecha de Ingreso: julio-2009
Ubicación: Bogota
Mensajes: 37
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema Para Consultar BD Mysql

Tenias Toda La Razon abimaelrc,

Le quite el on submit y me salen los valores que he digitado en el formulario,

Cita:
string(8) "80172454" string(10) "2009/01/01" string(22) "[email protected]" string(6) "Arturo" string(7) "7596916"
Pero probe habilitar de nuevo la consulta en MySQL y me vuelve a salir el error:

Cita:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
Agradezco tu colaboracion.
  #14 (permalink)  
Antiguo 28/07/2009, 01:47
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema Para Consultar BD Mysql

Por poco me muerde el codigo. Hemos encontrado varios errores pero se me olvido verificar si habias colocado todos los puntos en esa consulta. Falta el ultimo punto de $telefono.

Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT * FROM personal WHERE cedula LIKE '".$Cedula."' AND fecha LIKE '".$FECHA."' AND mail LIKE '".$Mail."' AND nombre LIKE '".$Nombre."' AND telefono LIKE' ".$Telefono."'",$con );

Y una ultima correccion las variables en PHP son "case sensitive" debes escribirlas asi como las declaras. Si la primera es en letra mayuscula debes colocarla en letra mayuscula la primera siempre. Arregla el codigo para que las variables sean iguales
  #15 (permalink)  
Antiguo 28/07/2009, 02:02
 
Fecha de Ingreso: julio-2009
Ubicación: Bogota
Mensajes: 37
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema Para Consultar BD Mysql

Hola abimaelrc,

Yo tampoco me habia dado cuenta de esa parte del codigo, te puedodecir que habilite la consulta y ya no me genero ningun error, pero solo me muestra una pagina en blanco sin ningun registro, a pesar de que le he puesto a consultar registros que si existen y tambien que no estan en la base de datos que podria ser:

Este es mi codigo de mostrar resultado:

Código PHP:
$consulta mysql_query("SELECT * FROM personal WHERE cedula LIKE '".$Cedula."' AND fecha LIKE '".$FECHA."' AND mail LIKE '".$Mail."' AND nombre LIKE '".$Nombre."' AND telefono LIKE '".$Telefono."' ",$con );



//muestra los datos consultados

while($row mysql_fetch_array($consulta)){
    echo 
"<p>".$row['Cedula']." - ".$row['FECHA']." - ".$row['Mail']." - ".$row['Nombre']." - ".$row['Telefono'].  "</p> ";


Última edición por harris00ea; 28/07/2009 a las 02:02 Razón: Un Error
  #16 (permalink)  
Antiguo 28/07/2009, 02:03
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema Para Consultar BD Mysql

¿Leiste lo que te indique de las variables?
  #17 (permalink)  
Antiguo 28/07/2009, 02:12
 
Fecha de Ingreso: julio-2009
Ubicación: Bogota
Mensajes: 37
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema Para Consultar BD Mysql

Estuve Atento y corregi las variables fijateen el codigo tambien confronte como estan escritas en la base de datos, pero obtengo aun una pagina en blanco y sin informacion.

Código PHP:
$consulta mysql_query("SELECT * FROM personal WHERE Cedula LIKE '".$Cedula."' AND FECHA LIKE '".$FECHA."' AND Mail LIKE '".$Mail."' AND Nombre LIKE '".$Nombre."' AND Telefono LIKE '".$Telefono."' ",$con );

//$datos = mysql_query( $consulta, $con );  

//muestra los datos consultados

while($row mysql_fetch_array($consulta)){
    echo 
"<p>".$row['Cedula']." - ".$row['FECHA']." - ".$row['Mail']." - ".$row['Nombre']." - ".$row['Telefono'].  "</p> ";

Agradezco tu ayuda.
  #18 (permalink)  
Antiguo 28/07/2009, 08:18
Avatar de Huacho12  
Fecha de Ingreso: septiembre-2008
Ubicación: Isla Mujeres Q. Roo
Mensajes: 175
Antigüedad: 15 años, 7 meses
Puntos: 10
Respuesta: Problema Para Consultar BD Mysql

Aqui de nuevo dandome una buelta despues de mucho trabajo jejejeje!!!

Hola !!!!

abimaelrc y harris00ea.

De acuerdo con lo que he leido de tu problema harris00ea, estoy de acuerdo con la conclusion que pone abimaelrc de que tus variables estan definidas de una manera y en tu consulta las pones de otra:

//Las defines Asi:
$cedula = $_POST[ 'cedula' ];
$fecha = $_POST[ 'fecha' ];
$mail = $_POST[ 'mail' ];
$nombre = $_POST[ 'nombre' ];
$telefono = $_POST[ 'telefono' ];

//Y las usas Asi:
$consulta = mysql_query("SELECT * FROM personal WHERE Cedula LIKE '".$Cedula."' AND FECHA LIKE '".$FECHA."' AND Mail LIKE '".$Mail."' AND Nombre LIKE '".$Nombre."' AND Telefono LIKE '".$Telefono."' ",$con );

Mira que tus variables no son iguales de como las declaras a como las utilizas en tu consulta, es por esa razon que no te muestra ningun dato al momento de ejecutarse.

Otra cosa que esta mal en la redaccion de tu consulta es la instruccion LIKE, la cual debe ir acompañada de un % para poder encontrar las coincidencias. Ejemplo:

$consulta = mysql_query("SELECT * FROM personal WHERE Cedula LIKE ' %".$Cedula." ' AND FECHA LIKE ' %".$FECHA."' AND Mail LIKE ' %".$Mail." ' AND Nombre LIKE '%".$Nombre." ' AND Telefono LIKE '%".$Telefono." ' ",$con );

Asi es como quedaria tu consulta.

Espero que te pueda servir de algo.

Pruebalo y cuentanos como te fue.

Saludos.
  #19 (permalink)  
Antiguo 28/07/2009, 09:17
 
Fecha de Ingreso: julio-2009
Ubicación: Bogota
Mensajes: 37
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema Para Consultar BD Mysql

Hola Huacho12 y abimaelrc,

Corregi las variables que me faltaban y agrege el caracter de % a las consultas like y me trabaja perfecto, debo agradecer mucho su atencion, espero poder contar con ustedes para proximas consultas.

Muchisimas Gracias Por Todo.
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 23:30.