Foros del Web » Programando para Internet » PHP »

No inserta en Base de datos

Estas en el tema de No inserta en Base de datos en el foro de PHP en Foros del Web. Sabeis si hay algo mal en este codigo? El problema es que no me inserta nada en la tbl_inmobiliarias Código PHP: public function  insertarAnuncioInmobiliaria ( $contrato ...
  #1 (permalink)  
Antiguo 19/01/2012, 06:41
Avatar de silvia_net  
Fecha de Ingreso: enero-2012
Mensajes: 31
Antigüedad: 12 años, 10 meses
Puntos: 0
No inserta en Base de datos

Sabeis si hay algo mal en este codigo? El problema es que no me inserta nada en la tbl_inmobiliarias

Código PHP:
public function insertarAnuncioInmobiliaria($contrato,$categoria,$subcategoria,$estado,$titulo,$descripcion,$video,$fecha,$municipio,$provincia,$id_usuario,$precio,$metros,$numbanos,$numhab,$zona,$estado)
    {
    
        
$this->conexion->crearConexion();
        
$id_anuncio;
        try
        {
            
//El usuario entra en la aplicacion asique debemos insertar una linea en accesos.
            
$consulta="INSERT INTO tbl_anuncios (id_anuncio,titulo,descripcion,precio,tipo,estado,puntos,visto,fecha_alta,fecha_actualizacion,cnt_fotos,video,municipio,id_provincia,id_categoria,id_subcategoria,id_usuario,denuncia) VALUES
                                                    (NULL,'"
.$titulo."','".$descripcion."',".$precio.",".$contrato.",".$estado.",0,0,'".$fecha."','".$fecha."',0,'".$video."','".$municipio."',".$provincia.",".$categoria.",".$subcategoria.",".$id_usuario.",0)";
            
$resultado=@mysql_query($consulta);

            
//Recojemos el id de anuncio que acabamos de generar
            
$consulta1="SELECT id_anuncio FROM tbl_anuncios WHERE titulo LIKE '".$titulo."' AND descripcion LIKE '".$descripcion."' AND fecha_alta LIKE '".$fecha."' AND precio=".$precio." AND estado=".$estado." AND id_usuario=".$id_usuario." AND id_categoria=".$categoria." AND id_provincia=".$provincia;
            
$resultado1=@mysql_query($consulta1);
            
$tupla=@mysql_fetch_array($resultado1);
            
            
$id_anuncio=$tupla['id_anuncio'];
            
                                                                        
            
$consulta2="INSERT INTO tbl_inmobiliarias (id_inmobiliaria,id_anuncio,estado,metros,numbanos,numhab,zona,direccion) VALUES (NULL,".$id_anuncio.",'".$telefono."',".$estado.",'".$metros."','".$numbanos."','".$numhab."',".$zona.",'".$municipio."')";
            
$resultado2=@mysql_query($consulta2);

        }            
        catch(
Exception $excepcion)
        {
            
$this->error="Problemas en el m�todo accede.";
        }
        
$this->conexion->cerrarConexion();
        return 
$id_anuncio;
    } 

Última edición por silvia_net; 19/01/2012 a las 06:47
  #2 (permalink)  
Antiguo 19/01/2012, 07:08
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: No inserta en Base de datos

Lo mejor que puedes hacer es quitarle el @ a la inserción para ver el error que esta generando MySql porque aparentemente no tiene ningún error...

$resultado= mysql_query($consulta) or die (mysql_error());
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 19/01/2012, 07:13
Avatar de silvia_net  
Fecha de Ingreso: enero-2012
Mensajes: 31
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: No inserta en Base de datos

Me sale:

Unknown column 'numbanos' in 'field list'


Listo, estaba insertanto en numbanos cuando en la BD era num_banos

GRACIAS!

Cerrad hilo
  #4 (permalink)  
Antiguo 19/01/2012, 07:21
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: No inserta en Base de datos

Bueno, mira que en este trozo de codigo:

,".$provincia.",".$categoria.",".$subcategoria."," .$id_usuario.",0)"

le hacen falta las comillas simples para encerrar las cadenaas de texto.

yo en lo peronal no concateno las sentencias SQL yo lo hago asi porque me parece mas facil de manejar:

Código PHP:
Ver original
  1. "INSERT INTO unaTabla (campo1, campo2, campo3, campoN) VALUES ('$variable1', '$variable2', '$variable3', '$variableN')";

Recuerda que las comillas dobles no son tan literales como las simples, esto nos da como resultado que PHP analice las variables antes de realizar la INSERCIÓN cosa que no es posible con las comillas simples ya que estas no analizan las variables e imprimen tal cual lo que estas encierran.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Etiquetas: inserta, sql, usuarios
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 04:17.