Foros del Web » Programando para Internet » PHP »

Duplicado de registros

Estas en el tema de Duplicado de registros en el foro de PHP en Foros del Web. Tengo un problema con los registros de una tabla, y es que cada vez que grabo nuevos registros me los graba por duplicado, este es ...
  #1 (permalink)  
Antiguo 20/09/2004, 09:24
 
Fecha de Ingreso: marzo-2004
Mensajes: 50
Antigüedad: 20 años, 1 mes
Puntos: 0
Duplicado de registros

Tengo un problema con los registros de una tabla, y es que cada vez que grabo nuevos registros me los graba por duplicado, este es el código:

<?php
include("conexion.php");
$conexBD=conectarse();

function limpiarCodigo($mensaje)
{
$mensaje = str_replace("<","&lt;",$mensaje);
$mensaje = str_replace(">","&gt;",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',"&quot;",$mensaje);
$mensaje = str_replace("\\\\","&#92",$mensaje);
return $mensaje;
}

if(trim($_POST["modelo"]) != "" && trim($_POST["tipo"]) != "")
{
$sql = "SELECT id FROM clavesParticulares WHERE clave='".limpiarCodigo($_POST["tipo"])."'";
$result = mysql_query($sql,$conexBD);
if($row = mysql_fetch_array($result))
{
echo "Error, ese nombre de usuario ya existe";
}
else
{
$sql = "INSERT INTO tiposModelos (modelo,tipo) VALUES (";
$sql .= "'".limpiarCodigo($_POST["tipo"])."'";
$sql .= ",'".limpiarCodigo($_POST["modelo"])."'";
$sql .= ")";
mysql_query($sql);
$rs=mysql_query($sql,$conexBD) or die ("Invalid query");
echo "Registro exitoso!";
}
mysql_free_result($result);
}
else
{
echo " ";
}
mysql_close();
?>

Gracias
Ana

Última edición por vanax; 20/09/2004 a las 09:26 Razón: error al escribir el código
  #2 (permalink)  
Antiguo 20/09/2004, 11:45
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Lo duplica porque estás haciendo la consulta dos veces:
Código PHP:
mysql_query($sql); 
$rs=mysql_query($sql,$conexBD) or die ("Invalid query"); 
En lugar de esas dos líneas, utiliza solamente:
Código PHP:
mysql_query($sql,$conexBD) or die ("Invalid query"); 
también mira en el manual las funciones htmlentities(), stripslashes(), etc... que vendrían a hacer lo que tú haces en la función limpiarCodigo()

Saludos
  #3 (permalink)  
Antiguo 21/09/2004, 02:40
 
Fecha de Ingreso: marzo-2004
Mensajes: 50
Antigüedad: 20 años, 1 mes
Puntos: 0
Muchas gracias, no se como no me he dado cuenta de que estaba repitiendo la consulta. Respecto a las funciones que dices, tienes razón son mucho más prácticas.
Muchas gracias.
vanax
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 13:56.