Foros del Web » Programando para Internet » PHP »

Insertar/Actualizar me duplica los records MySQL PHP

Estas en el tema de Insertar/Actualizar me duplica los records MySQL PHP en el foro de PHP en Foros del Web. Saludos, tengo un script que cada vez que lo corro me duplica la cantidad de records. Código: REPLACE INTO `$it` (file_name, directory) VALUES ('$insert','$dir_http') Mi ...
  #1 (permalink)  
Antiguo 10/08/2009, 13:28
 
Fecha de Ingreso: agosto-2009
Ubicación: Puerto Rico, USA
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Insertar/Actualizar me duplica los records MySQL PHP

Saludos, tengo un script que cada vez que lo corro me duplica la cantidad de records.

Código:
REPLACE INTO `$it` (file_name, directory)
                VALUES ('$insert','$dir_http')
Mi propósito es el siguiente, si el record existe actualizalo de lo contrario créalo.


Alguna sugerencia?
  #2 (permalink)  
Antiguo 10/08/2009, 13:33
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Insertar/Actualizar me duplica los records MySQL PHP

para eso debes primero comprobar si la fila existe y para actualizar usa UPDATE, no le veo mucho problema a lo que deseas.

Saludos
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 11/08/2009, 08:30
 
Fecha de Ingreso: agosto-2009
Ubicación: Puerto Rico, USA
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Insertar/Actualizar me duplica los records MySQL PHP

Cita:
Iniciado por urgido Ver Mensaje
para eso debes primero comprobar si la fila existe y para actualizar usa UPDATE, no le veo mucho problema a lo que deseas.

Saludos
Me puedes dar un ejemplo, porque no lo visualizo aun

Estructura tabla:
Código PHP:
mysql_query (" CREATE TABLE IF NOT EXISTS `$it`
                (id int NOT NULL AUTO_INCREMENT, file_name VARCHAR(40) NOT NULL, directory VARCHAR (60) NOT NULL,
                FULLTEXT (file_name), PRIMARY KEY (id) ) "
) or die ("Create table query failed"); 
  #4 (permalink)  
Antiguo 11/08/2009, 08:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Insertar/Actualizar me duplica los records MySQL PHP

mmm....

Código PHP:
$foo mysql_query('SELECT * FROM bar WHERE candy=9');

if (
mysql_num_rows($foo) > 0)
{
  
// ya existe el registro...
}
else
{
  
// NO existe!!

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 11/08/2009, 09:20
 
Fecha de Ingreso: agosto-2009
Ubicación: Puerto Rico, USA
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Insertar/Actualizar me duplica los records MySQL PHP

Cita:
Iniciado por pateketrueke Ver Mensaje
mmm....

Código PHP:
$foo mysql_query('SELECT * FROM bar WHERE candy=9');

if (
mysql_num_rows($foo) > 0)
{
  
// ya existe el registro...
}
else
{
  
// NO existe!!

Thanks.

Código PHP:
$query mysql_query("SELECT * FROM `$it` WHERE `file_name` = '$path_base_name' AND `directory` = '$dir_http'");
    
$result mysql_fetch_assoc($query);
    
$num mysql_num_rows($query);
 
    if(
$num// if the record exist, update it
          
{
        
mysql_query("UPDATE `$it` SET `file_name` = '$path_base_name', `directory` = '$dir_http' WHERE `id` = '" $result['id'] . "'");
          } 
        
    else 
// else insert new record
          
// else began
         
mysql_query("INSERT INTO `$it` (file_name, directory) VALUES ('$path_base_name','$dir_http')");
          } 
// else end 
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 19:10.