Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Insertar datos php y Msqli

Estas en el tema de Insertar datos php y Msqli en el foro de PHP en Foros del Web. Muy buenas chicos. A vedr si me podeis ayudar, xq ya no se deonde buscar el posible error de xq cada vez que quiero insertar ...
  #1 (permalink)  
Antiguo 10/11/2017, 03:40
 
Fecha de Ingreso: enero-2011
Mensajes: 16
Antigüedad: 13 años, 2 meses
Puntos: 0
Insertar datos php y Msqli

Muy buenas chicos.
A vedr si me podeis ayudar, xq ya no se deonde buscar el posible error de xq cada vez que quiero insertar datos desde el form me dice inserción no exitosa.

Formulario.php

Código PHP:
<?php
    session_start
();
    if (@!
$_SESSION['iduser']) {
        
header("Location:index.php");
    }
    
?>

     

     <?php

        
include("connect_db.php");
    
    
$consulta "SELECT * FROM $tabla_prensamedios ORDER BY idmedio ASC";
    
$resultados $mysqli->query($consulta);  

        

?>
Código HTML:
 <form action="insertar.php" id="form_publicaciones" name="form_publicaciones" method="POST" enctype="multipart/form-data">
          <div class="box-body">
               
            <div class="row">
            	<div class="col-md-6">                
                <div class="form-group">
                  <label>Nombre publicación</label>
                  <input type="text" class="form-control" name="title" id="title">
                </div>                
				</div>
               
            	<div class="col-md-6">                
                <div class="form-group">
                  <label>Fecha publicación</label>
                <div class="input-group date">
                  <div class="input-group-addon">
                    <i class="fa fa-calendar"></i>
                  </div>
                  <input type="text" class="form-control pull-right" name="fecha" id="fecha">
                </div>
                
                </div>
				</div>
            </div>
             
             <div class="row">
             	<div class="col-md-6">
             		<div class="form-group">
                  <label>Seleccione medio de publicación</label>
                  
                    
                    <select class="form-control" name="prensamedio_id" id="prensamedio_id">>
                      <option value="0" selected disabled></option>
                      
                     [PHP] <?php while($row = $resultados->fetch_assoc()) { ?>
					<option value="<?php echo $row['idmedio']; ?>"><?php echo $row['name']; ?></option>
				<?php } ?>[/PHP]
                      
                    </select>
                      
                    
                  </div>
             	</div>
             	
             	<div class="col-md-6">
             		<div class="form-group">
                  <label>Destacado en portada</label>
                  <select class="form-control" name="home" id="home">
                    <option value="0" selected disabled></option>
                    <option value="1">Activo</option>
					<option value="0">Innactivo</option>
                  </select>
                </div>
             	</div>
             </div>
                         
              
               
            <div class="row">
            	<div class="col-md-6">                 
                 <div class="form-group">
                  <label for="exampleInputFile">Imagen portada</label>
                  	<input type="file" class="file" name="img_online" id="img_online">
                </div>
				</div>
                 
            	<div class="col-md-6">
                 <div class="form-group">
                  <label for="exampleInputFile">Url</label>
                  	<input type="text" class="form-control" name="url" id="url">
              	</div>
             	</div>
            </div>
                
           </div>
            

            <div class="box-footer">
                <input type="submit" value="enviar" class="btn btn-primary">
              </div>
            
            
          </form> 
Insertar.php

Código PHP:
<?php

require_once("connect_db.php");
        
          
$fecha $_POST['fecha'];
          
$prensamedio_id $_POST['prensamedio_id'];
          
$title $_POST['title'];
          
$url $_POST['url'];
        
$home $_POST['home'];
        
$imagen_publicacion $_FILES['img_online']['name'];
    
move_uploaded_file($_FILES['img_online']['tmp_name'],"../img/publicaciones_online/".$imagen_publicacion);

         
$query "INSERT INTO $tabla_publicaciones(fecha,prensamedio_id,tittle,url,home,img_online) values ('$fecha','$prensamedio_id','$title','$url','$home','$imagen_publicacion')";
        
$resultado$mysqli->query($query);
        
        if(
$resultado)
        {
            echo 
"inserción existosa";
        }
        else
        {
            echo 
"inserción no exitosa";    
        }
          
 


?>
connect_db.php

Código PHP:
<?php 
    
// Parametros a configurar para la conexion de la base de datos 
    
$host "localhost";    // sera el valor de nuestra BD 
    
$basededatos "guiadeprensa";    // sera el valor de nuestra BD 
    
$usuariodb "root";    // sera el valor de nuestra BD 
    
$clavedb "root";    // sera el valor de nuestra BD 

    //Lista de Tablas
    
$tabla_users "users";
    
$tabla_noticias "noticias";
    
$tabla_pdf "pdf";
    
$tabla_prensamedios "prensamedios";
    
$tabla_publicaciones "publicaciones";
    
$tabla_secciones "secciones";
    
$tabla_clientes "clientes";
    

    
error_reporting(0); //No me muestra errores
    
    
$mysqli = new mysqli($host,$usuariodb,$clavedb,$basededatos);
    
$acentos $mysqli->query("SET NAMES 'utf8'");


    if (
$mysqli->connect_errno) {
        echo 
"Nuestro sitio experimenta fallos....";
        exit();
    }

?>
Espero me puedan ayudar xq lo mire por donde lo mire no veo el error.
Aviso que estoy en fase de aprendizaje de php
  #2 (permalink)  
Antiguo 10/11/2017, 03:58
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 9 meses
Puntos: 263
Respuesta: Insertar datos php y Msqli

a ver no le tenga miedo al try catch, deberias de utilizarlo para capturar el error

Código PHP:
Ver original
  1. $mysqli->autocommit(false);//Deshabilitamos la ejecución automatica de la query
  2.  
  3. try{
  4.  
  5. if(!move_uploaded_file($_FILES['img_online']['tmp_name'],"../img/publicaciones_online/".$imagen_publicacion)){
  6.   throw new Exception("No se ha podido cargar la imágen");
  7. }
  8.  
  9.  
  10.  
  11.         $query = "INSERT INTO $tabla_publicaciones(fecha,prensamedio_id,tittle,url,home,img_online) values ('$fecha','$prensamedio_id','$title','$url','$home','$imagen_publicacion')";
  12.         $resultado= $mysqli->query($query);
  13.          
  14.         if(!$resultado)
  15.         {
  16.             throw new Exception("Error de inserción: ".$mysqli->error);
  17.         }
  18. $mysqli->commit();
  19. echo Inserción Exitosa;
  20. }catch(Exception $e){
  21. $mysqli->rollback();//Deshago cambios en la base de datos
  22. echo "ha ocurrido el siguiente error: ".$e->getMessage();//Muestro el error
  23. }

prueba a ver
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 10/11/2017, 05:21
 
Fecha de Ingreso: enero-2011
Mensajes: 16
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Insertar datos php y Msqli

Muchas gracias xfxstudios.
Vamos avanzando.

Me decia que el campo title no existia. A simple vista estaba bien escrito pero he copiado el nombre del phpmyadmin y así me ha funcionado.

Xq he eliminado la parte de insertar imagen y me ha salido insercion existosa.

Pero ahora el segundo problema y que por eso habia eliminado lo de la imagen para probra.

Cuando intento insertar todo el formulario incluida la imagen me da el error: "No se ha podido cargar la imágen".

Y la verdad ni idea xq

Voy a investigar como subir la imagen a ver que pasa potr internet.

Grcais de todos modos
  #4 (permalink)  
Antiguo 10/11/2017, 07:52
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Insertar datos php y Msqli

Prueba dandoles estilos con z-index para subirlos, pero no creo que sea el problema. puedes mostrar el código que implementaste?
  #5 (permalink)  
Antiguo 10/11/2017, 12:37
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 9 meses
Puntos: 263
Respuesta: Insertar datos php y Msqli

Cita:
Iniciado por alvaro_trewhela Ver Mensaje
Prueba dandoles estilos con z-index para subirlos, pero no creo que sea el problema. puedes mostrar el código que implementaste?
en serio????


ve que tienes una coma donde deberia de ir un punto aqui:

Código PHP:
Ver original
  1. move_uploaded_file($_FILES['img_online']['tmp_name'],"../img/publicaciones_online/".$imagen_publicacion);
despues de ['tmp_name']
__________________
[email protected]
HITCEL
  #6 (permalink)  
Antiguo 10/11/2017, 19:12
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: Insertar datos php y Msqli

Cita:
Iniciado por alvaro_trewhela Ver Mensaje
Prueba dandoles estilos con z-index para subirlos, pero no creo que sea el problema. puedes mostrar el código que implementaste?
Entiendo que tienes toda la intención de ayudar, pero necesitas poner un poco de atención en las preguntas de los usuarios, porque no tiene nada que ver un atributo CSS con los problemas en PHP.
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 13/11/2017, 03:44
 
Fecha de Ingreso: enero-2011
Mensajes: 16
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Insertar datos php y Msqli

Lo del CSS ya me parecía un poco raro.

Y respecto al tema de cambiar la , por el ; no era ese el error. De hecho si pongo el ; me da error de sintaxis.

A nadfie se le ocurre xq no me sube la imagen?
  #8 (permalink)  
Antiguo 13/11/2017, 05:42
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 9 meses
Puntos: 263
Respuesta: Insertar datos php y Msqli

prueba asi para ver el error:

Código PHP:
Ver original
  1. if(!move_uploaded_file($_FILES['img_online']['tmp_name'],"../img/publicaciones_online/".$imagen_publicacion)){
  2.   throw new Exception("No se ha podido cargar la imágen, error: ".error_get_last());
  3. }
ali deberia de decirte porque php no esta subiendo la imagen
__________________
[email protected]
HITCEL
  #9 (permalink)  
Antiguo 13/11/2017, 07:56
 
Fecha de Ingreso: enero-2011
Mensajes: 16
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Insertar datos php y Msqli

Ya lo he solucionado.

De todas formas muchas gracias por el paorte
  #10 (permalink)  
Antiguo 13/11/2017, 12:49
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 9 meses
Puntos: 263
Respuesta: Insertar datos php y Msqli

Cita:
Iniciado por etobcn Ver Mensaje
Ya lo he solucionado.

De todas formas muchas gracias por el paorte
Excelente , seria bueno que colocaras la solución que le diste a tu problema, para futuras referencias en otro usuarios con el mismo problema, pues esa creo es la finalidad de este foro. Saludos
__________________
[email protected]
HITCEL
  #11 (permalink)  
Antiguo 14/11/2017, 04:31
 
Fecha de Ingreso: enero-2011
Mensajes: 16
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Insertar datos php y Msqli

Adjunto el nuevo código para si en un futuro le pasa el mismo problema que ami, vea la solución.

La verdad y si os soy sincero, no se donde estaba el error.
debería ser una maldita chorrada, pero ahora, mirando ambos códigos no veo donde estaba el error.
LO siento pero como ya dije estoy empezando en esto del mundo php y Msqli.

Un saludo a todos y hasta que me surgan nuevas dudas

Código PHP:
require_once("connect_db.php");
        
          
$fecha $_POST['fecha'];
          
$prensamedio_id $_POST['prensamedio_id'];
          
$title $_POST['title'];
          
$url $_POST['url'];
        
$home $_POST['home'];
        
$imagen_publicacion $_FILES['img_online']['name'];
    
move_uploaded_file($_FILES['img_online']['tmp_name'],"../img/publicaciones_online/".$imagen_publicacion);
        
$mysqli->autocommit(false);//Deshabilitamos la ejecución automatica de la query
 
try{
 
$query "INSERT INTO $tabla_publicaciones(fecha,prensamedio_id,title,url,home,img_online) values ('$fecha','$prensamedio_id','$title','$url','$home','$imagen_publicacion')"
        
$resultado$mysqli->query($query); 
         
        if(!
$resultado
        { 
            throw new 
Exception("Error de inserción: ".$mysqli->error);
        } 
$mysqli->commit();
        echo 
'<script>alert("REGISTRO INSERTADO CORRECTAMENTE")</script> ';
        echo 
"<script>location.href='edit_publicaciones.php'</script>";
    
}catch(
Exception $e){
$mysqli->rollback();//Deshago cambios en la base de datos
echo "ha ocurrido el siguiente error: ".$e->getMessage();//Muestro el error


Etiquetas: conexion, formulario, mysql, select, tabla
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 08:44.