Tema: insert
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/08/2009, 15:49
Avatar de PacoRuiz
PacoRuiz
 
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años, 6 meses
Puntos: 3
insert

Estoy intentando añadir registros a una tabla a partir de un formulario y me da un error que no entiendo:

Este es el código que crea la base de datos y la tabla:

<?php
$link=mysql_connect("localhost","root","");
$c=mysql_query("create database turina",$link);
mysql_select_db(turina,$link);
mysql_query("create table alumnos(
matricula tinyint(5) unsigned zerofill auto_increment,
curso char,
letra char,
nombre varchar (20),
apellido1 varchar (20),
apellido2 varchar (20),
primary key (matricula)
)") or die (mysql_error($link));
?>

Este es el formulario:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
<title>Añadir un alumno a la base de datos</title>
</head>
<body>
<form action = postfillalumnos.php method = POST>
nombre=<input type ="text" name="vnombre">
apellido1=<input type ="text" name="vapellido1">
apellido2=<input type ="text" name="vapellido2"><br><br>
<input type="submit" value="añadir">

</body>
</html>

Y este es el fichero que recibe los datos:

<?php
$vnombre=$_POST['vnombre'];
$vapellido1=$_POST['vapellido1'];
echo"El nombre es=$vnombre<br>";
echo"El apellido es=$vapellido1";
$link=mysql_connect("localhost","root","");
$c=mysql_select_db(turina,$link);
mysql_query ("insert into alumnos(nombre) values ($vnombre)",$link) or die(mysql_error($link));
?>

Este es el resultado después de poner en el formulario pepe como nombre y gamez como apellido1:

El nombre es=pepe
El apellido es=gamezUnknown column 'pepe' in 'field list'

No sé por qué identifica nombre con pepe si he puesto vnombre en lugar de nombre. No sé de donde viene ese error.