Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: jjam45 en 14 Julio 2010, 22:21 pm



Título: problema con mysql [SOLUCIONADO]
Publicado por: jjam45 en 14 Julio 2010, 22:21 pm
Tengo un formulario que quiero enviar a una BD en mysql pero no llega a enviar los datos, despues de dar a enviar en el formulario carga la pagina insertar pero se queda blanca y mirando directamente en la base de datos no hay ningun dato en mi tabla.

Aqui dejo el codigo:

Código:
<form id="empresas" name="empresas" method="post" action="insertar.php">
  <table width="1000" border="0" align="left">
    <tr>
      <th width="59" scope="col">Empresa</th>
      <th width="144" scope="col">Producto</th>
      <th width="167" scope="col">Precio</th>
      <th width="184" scope="col">datos</th>
    </tr>
    <tr>
      <th scope="row"><label for="empresa"></label>
        <select name="empresa" id="empresa">
          <option>Proveedor1</option>
          <option>Proveedor2</option>
          <option>Proveedor3</option>
      </select></th>
      <td><label for="producto"></label>
        <label for="producto"></label>
      <input type="text" name="producto" id="producto" /></td>
      <td><label for="precio"></label>
      <input name="precio" type="text" id="precio" value="0,00" />
      €</td>
      <td><label for="datos"></label>
      <textarea name="datos" id="datos" cols="45" rows="5"></textarea></td>
    </tr>
    <tr>
      <th scope="row"><input type="submit" name="enviar" id="enviar" value="Enviar" /></th>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
  </table>
</form>

insertar.php:

Código:
<?php

        

$empresa=$_POST['empresa'];
$producto=$_POST['producto'];
$precio=$_POST['precio'];
$datos=$_POST['datos'];


$link = mysql_connect("mysql.webcindario.com","proveedoresjon","xxxxx");
        mysql_select_db("proveedoresjon",$link);

        mysql_query("INSERT INTO facturas (empresa,producto,precio,datos)
        VALUES ('$empresa','$producto','$precio','$datos')",$link);

?>

Estos son los datos que tengo:
Código:
Servidor: mysql.webcindario.com Base de datos: proveedoresjon
versión: MySQL 5.0.22 usuario: proveedoresjon


Título: Re: problema con mysql
Publicado por: Shell Root en 14 Julio 2010, 23:19 pm
intentad mirar que error te tira al ejecutar la query. Así:
Código
  1. $query = "INSERT INTO facturas (empresa, producto, precio, datos) VALUES ('1', '2', '3', '4')";
  2. $resultado = mysql_query($query) or die('La consulta falló: ' . mysql_error());

También mirad si los datos enviados por el método POST, si contiene información.


Título: Re: problema con mysql
Publicado por: jjam45 en 14 Julio 2010, 23:27 pm
intentad mirar que error te tira al ejecutar la query. Así:
Código
  1. $query = "INSERT INTO facturas (empresa, producto, precio, datos) VALUES ('1', '2', '3', '4')";
  2. $resultado = mysql_query($query) or die('La consulta falló: ' . mysql_error());

También mirad si los datos enviados por el método POST, si contiene información.


Al introducir ese código no me sale nada, sale la pagina en blanco.
¿como miro si contienen información los datos?

Gracias

Código:
consulta SQL:
SELECT * FROM facturas

MySQL ha devuelto un valor vacío (i.e., cero columnas). (La consulta tardó 0.0077 seg)

Código:
consulta SQL:
SHOW TABLES

Tables_in_proveedoresjon
facturas
Código:

consulta SQL:
DESCRIBE facturas

Field  Type  Null Key Default Extra
empresa varchar(20) YES   NULL
producto varchar(40) YES   NULL
precio varchar(10) YES   NULL
datos varchar(100) YES   NULL


Título: Re: problema con mysql
Publicado por: jjam45 en 15 Julio 2010, 01:00 am
Ya lo he solucionado!!  ;-)

Un problema tonto, como suponía.

En esta parte del codigo tengo que cambiar la tabla facturas por: proveedoresjon.facturas

Código:
mysql_query("INSERT INTO facturas (empresa,producto,precio,datos)
        VALUES ('$empresa','$producto','$precio','$datos')",$link);

Y queda así:

Código:
mysql_query("INSERT INTO proveedoresjon.facturas (empresa,producto,precio,datos)
        VALUES ('$empresa','$producto','$precio','$datos')",$link);