Foros del Web » Programando para Internet » PHP »

problemas para insertar en una base de datos

Estas en el tema de problemas para insertar en una base de datos en el foro de PHP en Foros del Web. veran estoy haciendo un programa que entre otras cosas inserta nuevos parametros a una base de datos en mysql a travez de un formulario tengo ...
  #1 (permalink)  
Antiguo 12/11/2011, 23:26
 
Fecha de Ingreso: mayo-2007
Mensajes: 88
Antigüedad: 16 años, 11 meses
Puntos: 0
problemas para insertar en una base de datos

veran estoy haciendo un programa que entre otras cosas inserta nuevos parametros a una base de datos en mysql a travez de un formulario tengo el siguiente codigo:
Código:
<?php error_reporting(0);?>
  <?php
  require_once 'DB.php';
  $query = 'select * from item order by ID_T';
  $items =$db->query($query);
  $query = 'select * from marca order by ID_M';
  $marcas = $db->query($query);  
  $query = 'select * from proveedores order by ID_Provedor';
  $provedores = $db->query($query);
   ?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <link rel="stylesheet" type="text/css" href="datos.css"/>
        <title>Tower Soft </title>
    </head>
    <body>
        <div id="page">
            <div id ="header">
                <h1>Mantenimiento del catalogo de towersoft</h1>
            </div>
            <div id="main">
                <h1>Agregar nuevo producto</h1>
                <form action="agregarItem.php" method="post" id="agregar_item">
                    
                    <label>Piezas de Ensamblaje</label>
                    <select name="item">
                        <?php foreach($items as $item):?>
                        <option value="<?php echo $item['ID_T']; ?>">
                        <?php echo $item['Nombre'];?>
                        </option>
                        <?php endforeach; ?>
                    </select>
                    <br /><br>
                    
                    <label>marcas</label>
                    <select name="marca">
                        <?php foreach($marcas as $marca):?>
                        <option value="<?php echo $marca['ID_M']; ?>">
                        <?php echo $marca['NMarca'];?>
                        </option>
                        <?php endforeach; ?>
                    </select>
                    <br></br>
                    
                    
                    <label>Caracteristicas:</label>
                    <input type="text" name="caracteristica" />
                    <br /><br>
                    <label>Precio:</label>
                    <input type="text" name="precio"/>
                    <br /><br>
                    <label>Existencia:</label>
                    <input type="text" name="existencia"/>
                    <br /><br>
                                        
                    <label>Proveedores</label>
                    <select name="proveedor">
                        <?php foreach($provedores as $provedor):?>
                        <option value="<?php echo $provedor['ID_Provedor']; ?>">
                        <?php echo $provedor['Nombre'];?>
                        </option>
                        <?php endforeach; ?>
                    </select>
                    <br></br>
                    
                    <label>&nbsp;</label>
                    <input type="submit" value="agregar" />
                    <br /><br>
                </form>
                <p> <a href="index.php">Ver Libros</a> </p>
            </div>
            <div id="footer">
                <p>&copy; <?php echo date ('Y'); ?> Svartalv reino de forjadores</p>
            </div>
        </div>

    </body>
</html>
y este otro

Código:
php error_reporting (0); ?>
<?php


  $ID_T= $_POST['item'];
  $ID_M= $_POST['marca'];
  $caracteristica= $_POST['caracteristica'];
  $precio= $_POST['precio'];
  $existencia=$_POST ['existencia'];
  $ID_provedor=$_POST['proveedor'];

  if(empty($caracteristica)||empty($precio)||empty($existencia))
  {$error_message="Todos los campos solicitados son requeridos. Intente nuevamente";
 include ('error.php');
  }
 else
 {
       print "entre";
       require_once ('DB.php');
       $query= "INSERT INTO productos
           (ID_P,ID_T,ID_M,Caracteristica,Precio,
           Existencia,ID_Provedor) VALUES
           (0,$ID_T, $ID_M '$caracteristica',$precio,$existencia,$ID_provedor)";
             $db-> exec($query);
             include ('index.php');
 }


?>
basicamente se supone que deveria de hacer la incercion de datos sin embargo primero me daba el error que yo mismo defini de que no habia llenado todos los campos, pero si lo habia hecho, por lo que supuse que desde el primer codigo alguno de los datos no estaba siendo resivido en el segundo pero a nivel de codigo porque a el formulario lo llenaba, hice algunos cambios y el error dejo de aparecer, sin embargo los datos no se insertan y si quiero verificarlos el error reaparece.

PD: lo nombres de los campos si corresponden a la base de datos así que teoricamente no deveria haber problema por ese lado.

podria decirme alguien en que estoy fallando.

Grasias de antemano
  #2 (permalink)  
Antiguo 12/11/2011, 23:37
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas para insertar en una base de datos

prueba esto

Código PHP:
Ver original
  1. ('0',$ID_T, $ID_M ,'$caracteristica',$precio,$existencia,$ID_provedor)";

'0' esto lo puse asi por que supongo que es un cero
  #3 (permalink)  
Antiguo 12/11/2011, 23:45
 
Fecha de Ingreso: mayo-2007
Mensajes: 88
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: problemas para insertar en una base de datos

sip es un cero es el valor default para el autoincrmentable, de todas formas probe pero no funciono grasias de todas maneras
  #4 (permalink)  
Antiguo 12/11/2011, 23:47
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas para insertar en una base de datos

yo te puse eso por que no cerraste bien las comillas y demas fijate en la diferencia y pruebalo otra vez que se me olvido quitar 2 comillas

anterior
Código PHP:
Ver original
  1. (0,$ID_T, $ID_M '$caracteristica',$precio,$existencia,$ID_provedor)"

nuevo
Código PHP:
Ver original
  1. ('0',$ID_T, $ID_M ,$caracteristica,$precio,$existencia,$ID_provedor)";
  #5 (permalink)  
Antiguo 13/11/2011, 00:05
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas para insertar en una base de datos

si tienes auto incrementable xq le das el mismo valor siempre q es 0 q yo sepa asi no funciona pon 1245 x ejemplo en vez de 0 aber q ocurre
  #6 (permalink)  
Antiguo 13/11/2011, 00:30
 
Fecha de Ingreso: mayo-2007
Mensajes: 88
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: problemas para insertar en una base de datos

si ya lo cheque pero de todas maneras el ID_P que conrrespondelal cero es integer por lo que no lleva comillas, de todas menras con o sin comillas no funciona, caracteritica es es varchar asiq eu ese si lleva comillas
  #7 (permalink)  
Antiguo 13/11/2011, 00:32
 
Fecha de Ingreso: mayo-2007
Mensajes: 88
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: problemas para insertar en una base de datos

darle valor cero a un valor autoicrementable es lo mismo que no darle nada en el campo, simplemente es para marcar el campo, o eso es lo que me han explicado
  #8 (permalink)  
Antiguo 13/11/2011, 00:35
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas para insertar en una base de datos

no me refiero a eso solo digo q si a todos los registros le das de id 0 , lo de integer o varchar , desconocia cm lo tenias puesto

entnces ya esta resuelto?
  #9 (permalink)  
Antiguo 13/11/2011, 00:51
 
Fecha de Ingreso: mayo-2007
Mensajes: 88
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: problemas para insertar en una base de datos

nop, la pantalla donde deberia aparecer los datos nuevos sale pero si despues de intentar ahregar un dato checo la base de datos salta el error de que no todos los campos han sido rellenados como si me faltasen parametros de pasar en el formulario
  #10 (permalink)  
Antiguo 09/12/2011, 15:00
 
Fecha de Ingreso: mayo-2007
Mensajes: 88
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: problemas para insertar en una base de datos

bueno no mas para dejar este post ya cerrado el problema ya se soluciono, curiosamente el error era efectivamente una coma creo que incluso webakenobi lo corrigio en el primer post pero no em di cuenta jeje, porque cuando me dijiste comillas busque todas las "" y el problema era una coma ( , ) despues del ID_M grasias a los que se interesaron y sry por no responde, pero es que tuve que formatear la PC y no me acordaba de la pagi porque la tenia en favoritos desde hace mucho ya no recordaba mis pagiunas pues en años no habia escrito la url jeje

Etiquetas: formulario, html, mysql
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 07:29.