Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/07/2013, 17:06
Avatar de KATHYU
KATHYU
 
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 11 años, 6 meses
Puntos: 46
Respuesta: Error con $_POST

Cita:
Iniciado por Nemutagk Ver Mensaje
Tienes que imprimir el error que envía mysqli para saber que esta mal...

Código PHP:
Ver original
  1. //tu código....
  2.  
  3.  $ins = $mysqli->query("insert into productos (id,nombre,descripcion,rubro,proveedor,costo,
  4.            pre_may,pre_det,activo,userid,fecha) values('','$n','$d','$r','$p','$c','$m','$dt','1','1')");
  5.             if ($ins){
  6.                 Echo "Registro Agregado con exito !!";
  7.             }
  8.             else{
  9.                 echo "Error al Agregar".$mysqli->error."<br>";
  10.             }
  11.  
  12. //mas código....

Por otro lado, desperdicias por completo mysqli al realizar las consultas como lo haces, ya que haces por completo inseguro tu sistema cuando mysqli implemente por default sistemas de segurida que evitar inyección SQL pero por la forma en que lo utilizas lo desperdicias, para eso existe el método prepare() y bind_param() para asignar variables externas a la sentencia SQL y evitar inyección SQL...
Gracias averigue el uso de mysqli y he cambiado la consulta asi:
Código PHP:
Ver original
  1. if ($_POST){
  2.                 $n = $_POST['nombre'];
  3.                 $d = $_POST['desc'];
  4.                 $r = $_POST['rubro'];
  5.                 $p = $_POST['provee'];
  6.                 $c = $_POST['costo'];
  7.                 $m = $_POST['mayoreo'];
  8.                 $dt = $_POST['detalle'];
  9.                
  10.            
  11.             $ins = $mysqli->prepare("insert into productos (nombre,descripcion,rubro,proveedor,costo,pre_may,pre_det) values(?,?,?,?,?,?,?,?)");
  12.             $ins->bind_param($n,$d,$r,$p,$c,$m,$dt);
  13.             $ins->executed();
  14.             $ins->close();
  15.             if ($ins){
  16.                 Echo "Registro Agregado con exito !!";
  17.             }
  18.             else{
  19.                 echo "Error al Agregar (".$mysqli->error.")<br>";
  20.                
  21.             }
  22.             }

El resultado es:
Código:
Fatal error: Call to a member function bind_param() on a non-object in C:\xampp\htdocs\OCHOA\pruebas\mantto.php on line 26

Donde 26 es la linea $ins->bind_param($n,$d,$r,$p,$c,$m,$dt);
Luego intente tomar los $_POST de un solo asi:

Código PHP:
Ver original
  1. if ($_POST){
  2.                
  3.                
  4.            
  5.             $ins = $mysqli->prepare("insert into productos (nombre,descripcion,rubro,proveedor,costo,pre_may,pre_det) values(?,?,?,?,?,?,?,?)");
  6.             $ins->bind_param(       $_POST['nombre'],
  7.                                     $d = $_POST['desc'],
  8.                                     $r = $_POST['rubro'],
  9.                                     $p = $_POST['provee'],
  10.                                     $c = $_POST['costo'],
  11.                                     $m = $_POST['mayoreo'],
  12.                                     $dt = $_POST['detalle']);
  13.             $ins->executed();
  14.             $ins->close();
  15.             if ($ins){
  16.                 Echo "Registro Agregado con exito !!";
  17.             }
  18.             else{
  19.                 echo "Error al Agregar (".$mysqli->error.")<br>";
  20.                
  21.             }
  22.             }

El error es el mismo ahi donde dice bind_param da el error
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.