Foros del Web » Programando para Internet » PHP »

Problema con lectura en mysql

Estas en el tema de Problema con lectura en mysql en el foro de PHP en Foros del Web. Hola a todos: He logrado encadenar 3 archivos y cuando los pongo en el navegador funcionan se trata de un formulario para ingresar registros a ...
  #1 (permalink)  
Antiguo 23/02/2008, 03:41
 
Fecha de Ingreso: noviembre-2007
Mensajes: 19
Antigüedad: 16 años, 4 meses
Puntos: 0
Problema con lectura en mysql

Hola a todos:

He logrado encadenar 3 archivos y cuando los pongo en el navegador funcionan
se trata de un formulario para ingresar registros a una base de datos de mysql
Son 3 archivos un formulario inicial Insertar.html para poner los datos del registro,un segundo archivo insertar.php que conecta el formulario con la base de datos e introduce los registros, y un tercer archivo lectura.php que muestra los registros en pantalla.

estos son los códigos

1º archivo

<HTML>
<HEAD>
<TITLE>Insertar.html</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>insertar un registro</h1>
<br>
<FORM METHOD="POST" ACTION="insertar.php">
Nombre<br>
<INPUT TYPE="TEXT" NAME="nombre"><br>
Telefono<br>
<INPUT TYPE="TEXT" NAME="telefono"><br>
<INPUT TYPE="SUBMIT" value="insertar">
</FORM>
</div>
</BODY>
</HTML>

2º archivo

<HTML>
<HEAD>
<TITLE>insertar.php</TITLE>
</HEAD>
<BODY>
<?
//conexión con la base

$host = "localhost";
$database = "ejemplo";
$user = "user";
$password = "********;
$conect = mysql_connect($host, $user, $password);
mysql_select_db("ejemplo", $conect);

//ejecucion de la sentencia sql
mysql_query("insert into clientes(nombre,telefono)values
('$nombre','$telefono')");
?>
<h1><div align="center"><i>Registro insertado</i></div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la
base</a></div>
</BODY>
</HTML>

3ª archivo

<HTML>
<HEAD>
<TITLE>lectura.php</TITLE>
</HEAD>
<BODY>
<h1><div align="center">Lectura de la tabla</div></h1>
<br>
<br>
<?
//conexion con la base
mysql_connect("localhost", "user", "********");

//ejecucion de la sentencia sql
$result=mysql_db_query("ejemplo","select*from clientes");
?>
<table align="center">
<tr>
<th>Nombre</th>
<th>Teléfono</th>
</tr>
<?
// mostramos los registros
while ($row=mysql_fetch_array($result))
{
echo'<tr><td>'.$row["nombre"].'</td>';
echo'<td>'.$row["telefono"].'</td></tr>';
}
mysql_free_result($result)
?>
</table>

<div align="center">
<a href="insertar.html">Añadir un nuevo registro</a>
</div>

</BODY>
</HTML>


en el navegador todo funciona correcto y cada registro que ingreso me aparece luego en la pantalla lectura.php

Supongo que entonces lo esta guardando en mysql

Pero cuando entro al monitor mysql,busco los nuevos registros usando la sentencia "describe clientes" no los encuentro me muestra la tabla siempre con valor NULL.

que puede ser ? como veo los registros ?no se lo que me esta faltando

gracias desde ya por su ayuda
  #2 (permalink)  
Antiguo 23/02/2008, 06:31
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Problema con lectura en mysql

Hola sciuto. Tu problema esta en el archivo insertar.php, no estas recogiendo las variables via $_POST del formualrio y por eso no guarda nada en mysql, lo raro es que no te salte ningún error.. el código quedaria de la siguiente manera:

Cita:
<?php
//conexión con la base
$host = "localhost";
$database = "ejemplo";
$user = "user";
$password = "********;
$conect = mysql_connect($host, $user, $password);
mysql_select_db("ejemplo", $conect);

$nombre=$_POST['nombre'];
$telefono=$_POST['telefono'];

//ejecucion de la sentencia sql
mysql_query("insert into clientes(nombre,telefono)values
('$nombre','$telefono')");
mysql_close($conect);
?>
<HTML>
<HEAD>
<TITLE>insertar.php</TITLE>
</HEAD>
<BODY>
<h1><div align="center"><i>Registro insertado</i></div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la
base</a></div>
</BODY>
</HTML>
Un saludo
  #3 (permalink)  
Antiguo 23/02/2008, 21:53
 
Fecha de Ingreso: noviembre-2007
Mensajes: 19
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Problema con lectura en mysql

Hola komodo :
gracias por tu ayuda..
Modifique el segundo script y me quedo asi

<HTML>
<HEAD>
<TITLE>insertar.php</TITLE>
</HEAD>
<BODY>
<?
//conexión con la base

$host = "localhost";
$database = "ejemplo";
$user = "root";
$password = "1592";
$conect = mysql_connect($host, $user, $password);
mysql_select_db("ejemplo", $conect);

$nombre=$_POST['nombre'];
$telefono=$_POST['telefono'];

//ejecucion de la sentencia sql
mysql_query("insert into clientes(nombre,telefono)values
('$nombre','$telefono')");
?>
<h1><div align="center"><i>Registro insertado</i></div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la
base</a></div>
</BODY>
</HTML>

como vos mecionabas,
pero siguen sin aparecerme los resultados en el monitor Mysql, si me aparecen en el navegador cada vez que añado un registro, luego lo visualizo en el archivo lectura.php

En el monitor mysql los pasos que sigo para chequear la tabla "clientes" son los siguientes:

use ejemplo;
describe clientes;

y me sigue mostrando valores NULL

faltara algo mas en el script que la variable POST???

saludos
y gracias desde ya
  #4 (permalink)  
Antiguo 23/02/2008, 23:27
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 4 meses
Puntos: 4
Re: Problema con lectura en mysql

Hola, cuando ves la tabla, aparecen campos vacios o simplemente no aparece nada. Otra cosa antes de hacer el insert into, pon el siguiente codigo...
Código PHP:
   print_r($_POST); 
Este codigo te mostrara todas las variables y sus datos enviado por el post, verifica que lleguen datos, ahora si ves que llegan datos, entonces has esto...
Código PHP:
  $sql="INSERT INTO clientes(nombre,telefono) VALUES('".$_POST['nombre']."','".$_POST['telefono']."')";
  echo 
$sql
Lo que se ha hecho es crear una sentencia sql, y almacenarla enla variable, el hecho te mostrara la sentencia sql completa, copia esa sentencia y ejecutala en la consola y ve que error te vota...
__________________
Un Caballero Jura Lealtad. Usa su espada para suprimir la Injusticia No Conoce el Odio y Tampoco el AMOR...
  #5 (permalink)  
Antiguo 27/02/2008, 04:39
 
Fecha de Ingreso: noviembre-2007
Mensajes: 19
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Problema con lectura en mysql

No hubo caso.

En el navegador todo funciona bien no me da error.
pero en el monitor mysql no aparecen los registros,

Siguen apareciendo los valores NULL.

los pasos que hago en mysql para ver son los siguientes:
use ejemplo; ( elijo la base de datos)
describe clientes; (pido la descripcion de la tabla)

y me siguen apareciendo valores NULL,
no se si me estaré olvidando de algo,

si alguien me puede ayudar le agradezco

Saludos
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:41.