Foros del Web » Programando para Internet » PHP »

Ayuda con Insercion

Estas en el tema de Ayuda con Insercion en el foro de PHP en Foros del Web. tengo un script que hace una copia de registro de una tabla a otra y me copia todos los registros a la base de datos ...
  #1 (permalink)  
Antiguo 17/09/2009, 18:29
 
Fecha de Ingreso: julio-2009
Mensajes: 45
Antigüedad: 14 años, 9 meses
Puntos: 0
Ayuda con Insercion

tengo un script que hace una copia de registro de una tabla a otra
y me copia todos los registros a la base de datos nueva menos uno alguna sugerencia

todos los fields son iguales a excepcion de que la tabla destino tiene dos mas listingId y editedDate

Código PHP:
 $result mysql_query("Select * from listEdit WHERE id = '262'");
 
 
$temp=0;
    while (
$row mysql_fetch_assoc($result)) {
         
        
         
        foreach(
$row as $key => $value) {
             
               if (
$key=="id"){ // si es id lo pasamos a un campo diferente ya que la otra tabla tiene su propio id
                
                
$today date("F j, Y, g:i a"); 

                
mysql_query("INSERT INTO editListLog (listingId,editedDate) VALUES ('$value','$today') ");
               
                
$temp=$value;
            
            }
            else{ 
            
               
                  if( empty( 
$value ) ) {
                       
$valor "NULL";
                   } 
                   else {
                       
$value "'$value'"
                   }
                echo 
$key;
                echo 
$value;
                echo 
"<br>" ;  
                
mysql_query("UPDATE editListLog SET $key = $value WHERE listingId='$temp' ");
                
                echo 
"<br>";
            
                }
        }         
    } 
el field al que no se puede hacer la insercion es

CONDITION,VARCHAR(130),Nullable y tiene las mismas caracterisicas en ambas tablas

alguien podria ayudarme no tengo ni idea por que solo en ese no hace insercion ya que en otros del mismo tipo si la hace

Última edición por DankarSilob; 17/09/2009 a las 19:32
  #2 (permalink)  
Antiguo 17/09/2009, 21:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ayuda con Insercion

Deberías imprimir el valor de mysql_error() después de tu consulta para ver el error.

Saludos.
  #3 (permalink)  
Antiguo 17/09/2009, 21:43
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Ayuda con Insercion

Hola
Seguro que ambas tablas tienen los mismos tipos de datos y con el mismo tamaño?? ej varchar(130)?

Ahora, tienen condiciones de null o not null???
Si la respuesta es si, y si pones a imprimir las variables antes de insertar,
esas variables SIEMPRE llevan valores?

Revisa esos puntos y nos comentas
Saludos
  #4 (permalink)  
Antiguo 17/09/2009, 23:15
 
Fecha de Ingreso: julio-2009
Mensajes: 45
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Ayuda con Insercion

Condition es palabra reservada en mysql ese era el problema
solo habra que cambiaer el nombre del campo

el script lo que hacia es que copiaba los registros de una tabla a otra y agregaba una fecha de edicion asi como relacionaba el id original a un id del registro editado
dejo el script por si alguien por ahi necesita algo parecido


Código PHP:
<?php 

 
require_once("../Connections/conn.php");
 
 
mysql_select_db("database",$conn);
 
 
$result mysql_query("Select * from listEdit WHERE id = '262'");
 
 
$temp=0;
    while (
$row mysql_fetch_assoc($result)) {
         
        
         
            foreach(
$row as $key => $value) {
             
               if (
$key=="id"){
                
                
$today date("F j, Y, g:i a"); 

                
mysql_query("INSERT INTO editListLog (listingId,editedDate) VALUES ('$value','$today') ");
               
                
$temp=$value;
            
            }
            else{ 
            
               
                  if( empty( 
$value ) ) {
                      
                         
$valor "NULL";
                      } 
                 else {
                       
$value "'$value'"
                    }
                 
            
mysql_query("UPDATE editListLog SET $key = $value WHERE listingId=\"$temp\"; ");
                
            
            }
        }         
    }
    
    
 
?>

Última edición por DankarSilob; 18/09/2009 a las 04:06
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 22:49.