Problema al añadir registros a base de datos

Iniciado por InGuS, 28 Marzo 2007, 23:36 PM

0 Miembros y 2 Visitantes están viendo este tema.

InGuS

Hola, tengo  un problema al añadir registros a una base de datos, para eso uso la siguiente expresión:

$resultado= mysql_query("INSERT INTO 'proveedor'  ('id','nombre', 'direccion', 'telefono', 'email')
VALUES (NULL, '".$nombre."', '".$direccion."', '".$telefono."', '".$email."')",$conexion);


La conexión a la base de datos la hago mediante

$conexion= @mysql_pconnect('localhost','usuario','password') or die
('Imposible conectar con la base de datos debido al siguiente error: ' . mysql_error());
$bd= mysql_select_db('lista',$conexion);


Los datos los obtengo desde un formulario, el problema es que no ingresa los datos. Creo que todo radica en las comillas y en los puntos, he intentado quitarlas ponerlas pero aún no puedo añadir los datos.

¿Alguna idea?

Saludos

дٳŦ٭



Con sangre andaluza :)


InGuS

Gracias por tu pronta respuesta, pero el problema aún persiste, ¿alguna otra idea de que pueda estar pasando?

дٳŦ٭

De nada. Lo que se me ocurre es que no estás llamando el mysql_query.

Podrías poner todo el código?

Saludos


Con sangre andaluza :)


InGuS

Este es el código de la página proveedores.php


<h1>Agregar un proveedor</h1>
<form name ="agregar" action="proveedores.php?subaction=guardar" method="post">
<table border="0">
<tr>
<td class="label">Nombre:</td>
<td class="noborde"><input type="text" name="nombre" maxlength="100" size="47"></td>
</tr>
<tr>
<td class="label">Direcci&oacute;n:</td>
<td class="noborde"><textarea name="direccion" rows="5" cols="40"  wrap="hard"></textarea></td>
</tr>
<tr>
<td class="label">Tel&eacute;fono:</td>
<td class="noborde"><textarea name="telefono" rows="3" cols="20" wrap="hard"></textarea></td>
</tr>
<tr>
<td class="label">E-mail:</td>
<td class="noborde"><input type="text" name="email"  maxlength="50" size="47"></td>
</tr>
<tr>
<td class="noborde" colspan="2" align="center"><input type="Submit" value="Guardar">
<input type="reset" value="Limpiar"></td>
</tr>
</table>
</form>

<?php
$subaction $HTTP_GET_VARS["subaction"];
include(
"mainfile.php");
if (
$subaction=="guardar")
{
$nombre=$_POST['nombre'];
$direccion =$_POST['direccion'];
$telefono =$_POST['telefono'];
$email =$_POST['email'];

$resultadomysql_query("INSERT INTO 'proveedor'  ('id','nombre', 'direccion', 'telefono', 'email') 
        VALUES (NULL, '"
.$nombre."', '".$direccion."', '".$telefono."', '".$email."')",$conexion);
if ($resultado)
echo "Datos añadidos";
else
echo "Ha ocurrido un error";
}?>


En mainfile.php es donde tengo los datos de conexion

<?php $conexion= @mysql_pconnect('localhost','usuario','password') or die 
(
'Imposible conectar con la base de datos debido al siguiente error: ' mysql_error());
$bdmysql_select_db('lista',$conexion);?>


alone-in-the-chat

Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b

InGuS

Cita de: alone-in-the-chat en 29 Marzo 2007, 00:37 AM
Puedes poner el error que te lanza???


No pone ningun error, simplemente aparece la pantalla en blanco, por eso puse el último if y asi saber que sucedía.

Me puse a "jugar" con los puntos y las comillas y llegue a introducir un dato, lo malo fue que solo ingreso la id (autoincremental en la BD), lo demás simplemente quedo en blanco.

alone-in-the-chat

Haz un print_r($_POST)
para que chekes si los datos estan llegando o no
Por que a simple vista no le veo el error
y aver x si acaso tb haz un echo de la cadena que le envias al mysql_query
Saludos.
Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b

InGuS

Ya lo intente introduciendo las palabras

Uno
Dos
Tres
Cuatro

no pude usar print_r así que use print ($_POST) y me imprimió "array"; probe imprimiendo cada variable y me las mostro sin ningun problema. También imprimi el query y dio como resultado esto.

INSERT INTO 'proveedor' ('id','nombre', 'direccion', 'telefono', 'email')
VALUES (NULL, 'Uno', ' Dos ', ' Tres ', 'Cuatro')

esa parte de código quedo así:

<?php 
        $nombre
=$_POST['nombre'];
$direccion =$_POST['direccion'];
$telefono =$_POST['telefono'];
$email =$_POST['email'];
$sql"INSERT INTO 'proveedor'  ('id','nombre', 'direccion', 'telefono', 'email')
        VALUES (NULL, '"
.$nombre."', '".$direccion."', '".$telefono."', '".$email."')";
$resultadomysql_query($sql,$conexion);

print ($_POST);

print $sql;
?>


¿Estoy haciendo bien la conexión?

дٳŦ٭

Hola,

Veamos:


if ($subaction=="guardar")



<input type="Submit" value="Guardar">


Debería ser:

<input type="Submit" value="Guardar" name="guardar">


y afuera de if ($subaction=="guardar"):


$guardar=$_POST['guardar'];


Saludos


Con sangre andaluza :)