Introducción de nuevos registros con PHP

Forma sencilla de introducir nuevos elementos en una tabla de base de datos. Realizamos un Insert con PHP.
Una vez creada la tabla clientes en nuestra base de datos ejemplo, el paso siguiente sea llenarla con registros. Para ello vamos a ver este artículo, en el que se reciben datos desde un formulario y luego se insertan con PHP en la base de datos, en la tabla adecuada.

Los datos del registro pueden ser recogidos, por ejemplo, a partir de un formulario. Aquí os proponemos un simple documento HTML que recoge los datos y los envía a una página PHP que se encarga de procesarlos:

<HTML>
<HEAD>
<TITLE>Insertar.html</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Insertar un registro</h1>
<br>
<FORM METHOD="POST" ACTION="insertar.php">
Nombre<br>
<INPUT TYPE="TEXT" NAME="nombre"><br>
Teléfono<br>
<INPUT TYPE="TEXT" NAME="telefono"><br>
<INPUT TYPE="SUBMIT" value="Insertar">
</FORM>
</div>
</BODY>
</HTML>

Llegados a la página destino del formulario (insertar.php), lo primero que habrá que hacer es establecer un vínculo entre el programa y la base de datos. Esta conexión se lleva a cabo con la función mysql_connect. A continuación, deberemos generar una orden de inserción del registro en lenguaje SQL. Esta orden será ejecutada por medio de la función mysql_db_query. En esta función especificaremos primeramente la base de datos sobre la que queremos actuar y a continuación introduciremos la sentencia SQL:

<HTML>
<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?
//Conexion con la base
mysql_connect("localhost","tu_user","tu_password");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("mi_base_datos");

//Ejecucion de la sentencia SQL
mysql_query("insert into clientes (nombre,telefono) values ('$nombre','$telefono')");
?>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base</a></div>
</BODY>
</HTML>

Ejecutar ejemplo

Los parametros user y password son definidos por el creador de la base. Es conveniente en un principio, al crear nuestras bases, trabajar sin ellos con lo cual dejaremos las cadenas correspondientes vacias: "".

Además de la propia inserción, el programa avisa de la introducción del registro y ofrece un enlace hacia una página de lectura la cual será comentada a continuación.

No entraremos en la descripción de la orden SQL, para comprender más acerca de cómo introducir registros, refererirse al tutorial de SQL.

Autor

Rubén Alvarez

Redactor de DesarrolloWeb.com

Comentarios

María Celia Ibarra

09/3/2002
Tal vez un cambio de versión ocasiona que la ejecución de la carga de un registro muestre el siguiente mensaje:

Warning: mysql_db_query is deprecated; use mysql_select_db() and mysql_query() instead in C:\EjemplosPHP\insertar.php on line 10

Para resolverlo hay que reemplazar la función
mysql_db_query

por estas dos:
mysql_select_db()
mysql_query()

Ejemplo:

Donde dice:
mysql_db_query("ejemplo","insert into clientes (nombre,telefono) values ('$nombre','$telefono')");

Hay que reemplazar por:
mysql_select_db("ejemplo");
mysql_query("insert into clientes (nombre,telefono) values ('$nombre','$telefono')");

Lo demás funciona perfecto.

Dario

26/8/2002
No olviden poner la conexion a la base de datos usando mysql_connect("suhost", "usuario", "sucontraseña");

Carlos

15/10/2002
Si acabas de instalar PHP, la varible Register_Global debe estar en "On" en el archivo PHP.ini, si no el ejemplo no funciona. Viene en Off por defecto.

Register_Global = On

Miguel Angel Alvarez

30/7/2003
Si, por cualquier error que no sabemos todavía, no se insertan correctamente los datos en la tabla (no se inserta nada o algún/os campos aparecen vacíos), lo mejor para saber donde está el error es imprimir en pantalla la sentencia SQL y así vemos si estamos creando una instrucción correcta o no.

La sentencia SQL se puede crear dentro de una variable PHP y luego imprimirla y ejecutarla. Algo como esto:

$ssql = "insert into clientes (nombre,telefono) values ('$nombre','$telefono')";
echo $ssql;
mysql_query($ssql);

- Si la sentencia es correcta, caso poco probable, podemos pensar que habrá algún problema en el sistema gestor de base de datos o en la conexión con la base de datos. Es muy probable que la sentencia parezca correcta pero que no lo esté, para asegurarnos podemos llevarla a algún programa distinto que utilicemos para trabajar directamente con la base de datos (como PhpMyAdmin o MyCC) y ejecutarla. El programa nos dirá si realmente es una sentencia correcta, con lo que tendría que insertar los datos, o una sentencia incorrecta, señalando alguna pista para la identificación del error.

- Si la sentencia no es correcta, que es seguro lo que está pasando, podemos localizar fácilmente en qué parte del código PHP está el error y subsanarlo.

Spiro Andreakis

31/5/2004
Hay que recordar que para cuestinoes de depuración también podemos utiliza la instrucción "die" que nos sirve como bandera para indicar la porción de código donde truena el programa.
Ejemplo:
$mysql_connect(equipo,usuario,pass) or die("hubo un error al conectar al servidor de BD!.");

Diego

12/6/2004
Estube bastante tiempo para encontrar el problema asi que lo dejo para los demás.

el nombre de la tabla y el de los campos tiene que ir entre `acentos` y el de los valores entre 'comillas'.

lo descubri gracias al phpMyAdmin si no me volvía mono.

Enrique

20/6/2004
Si no poneis el codigo del archivo php que hace visualizar el dato que hemos añadido a la tabla va a ser un poco difivil comprobar que realmente se ha insertado =_=

Juanjo

04/8/2005
Para todos aquellos q no encontraron la solución de x q no se insertan registros o estan vacios, aqui esta la solución:

Todo biene x q en el formulario utilizamos el metodo POST
<FORM METHOD="POST" ACTION="insertar.php">

entonces a la hora de insertar los valores de los campos falta hacer referencias en ellas, vemos como:

Antes:
mysql_db_query("ejemplo","insert into clientes (nombre,telefono) values ('$nombre','$telefono')");
Debería ir:
mysql_db_query("ejemplo","insert into clientes (nombre,telefono) values ('".$_POST['nombre']."' , '".$_POST['telefono']."' )";
Saludos y Suerte.

Fran Hurtado

29/9/2005
Yo he colocado el siguiente codigo tras horas de prueba jeje y me ha funcionado...

<?
$nombre=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
//Conexion con la base
mysql_connect("localhost","root","");

mysql_select_db("fran");

$sql = "INSERT INTO datos (nombre, apellidos) ";

$sql .= "VALUES ('$nombre', '$apellidos')";

mysql_query($sql);

?>

solo coloco el codigo php, por cierto utilizo PHP 5.0.5 y Apache 2.0.54 (win32)

José

20/10/2005
Faltaría añadir algún mecanismo para evitar una doble inserción del mismo registro si, por alguna razón, se preciona el botón "actualizar" del navegador. Con MySQL, es definiendo como "único" uno de los campos, pero esto no siempre es posible en todos los casos. ¿cómo se haría usando php?

Yuri

08/11/2005
Yo tambien despues de horas de pruebas finalmente he podido resolver el problema.. me salian datos en blancos.. copiare el codigo para dar una mano a los que aun tienen problemas, ya que yo tambien me ayude de los post de los demas participantes.
Gracias
Este es mi codigo que finalmente me funcionó:

<?
$cod=$_POST['cod'];
$desc=$_POST['desc'];
$cant=$_POST['cant'];
$link = mysql_connect("localhost", "bdprueba", "pssprueba")
or die("Could not connect to database!");
mysql_select_db("dbp_customer")
or die("Could not select database!");
$query = "insert into `Prod` (`cod`,`desc`,`cant`) values
('$cod','$desc','$cant')";
$result = mysql_query($query)
or die("Query failed:$query");
?>

Isaac

14/1/2006
creo que tambien tuve el mismo problema que los demas a la hora de insertar los datos, quizas por las versiones de los programas, este es el codigo que yo utilize, espero sirva de ayuda
<?
$usr = "TuUsername";
$pwd = "TuPassword";
$db = "ejemplo";
$host = "localhost";
// connectando a la DB
$link = mysql_connect($host,$usr,$pwd);
mysql_select_db($db);
if (mysql_error()) { print "Database ERROR: " . mysql_error(); }
?>

<html>
<body><?
if ($_SERVER['REQUEST_METHOD'== "POST")
{
$nombre = addslashes($_POST["nombre"]);
$direccion = addslashes($_POST["direccion"]);
$telefono = addslashes($_POST["telefono"]);
$email = addslashes($_POST["email"]);

$sql= "INSERT INTO clientes";
$sql .="(nombre,direccion,telefono,email) VALUES";
$sql .="('$nombre','$direccion','$telefono','$email')";

$result = mysql_query($sql,$link);
if (mysql_error()) { print "Database ERROR: " . mysql_error(); }
echo " Datos recibidos. ";}
?>

jorge

11/2/2006
x fin me salio, despues d ver uno de los post q hicieron, modifiq una sola parte y me funciono :)
<HTML>
<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?
$nombre=$_POST['nombre'];
$telefono=$_POST['telefono'];

//Conexion con la base
mysql_connect("localhost","su_user","su_pasword");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("ejemplo");

//Ejecucion de la sentencia SQL
mysql_db_query("ejemplo","insert into clientes (nombre,telefono) values ('$nombre','$telefono')");
?>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base</a></div>
</BODY>
</HTML>

wagner

29/3/2006
Creo que tambien se puede simplificar mas de la siguiente manera, como lo he visto en las clases de PHP que veo a hora.

Primero se crea una pagina.php yo la llamo "conexion.php" que lleva el siguiente codigo:

<?
$conexion = mysql_connect("localhost", "root", "");
mysql_select_db("wagner", $conexion);
?>

ese es todo el codigo que debe llevar esa pagina con extención .php

para luego ser llamada desde otra pagina donde tendremos el resto del codigo, esto se hace, para simplificar la conexion a la BD ya que en varias paginas se estara abriendo y cerrando y es para no copiar el mismo codigo tantas veces.

luego para hacer la llamada se ejecuta con un include despues de <?, ejemplo:

<body>
<?
// aqui se hace el llamado al archivo y se establece la conexion con la BD

include "conexion.php";

//luego el resto del codigo

$sql="select * from datospersonales";
$consulta=@mysql_query($sql, $conexion);
?>

</body>

y porsupuesto para cerrar la conexion a la base de datos se hace con la sentencia

mysql_close($conexion); al final de todo el codigo php antes del </doby>

Daugon

25/5/2006
Realmente manifiesto mis sinceros agradecimientos y felicitaciones para todas aquellas personas que comparten y dejan en estos foros sus problemas con sus posibles respuestas, que han servido de gran ayuda a infinidades de personas. En mi caso, no fue necesario activar Register_GLOBALS en "ON", yo la tengo en "OFF", solo que tome en cuenta el comentario de Juanjo para que me pudiera funcionar. Mil gracias a Todos.

Carlos Gonzalez

21/6/2006
Un poco mejorado a la ultima actualizacion esta el siguiente codigo. Ojo estoy usando PHP 5.1.4 con Apache 2.0.5:

$link=mysql_connect("localhost","root","") or die ("Error al conectar!!");
mysql_select_db("ejemplo1") or die ("No es la base de datos");
$var1=$_POST[nombre];
$var2=$_POST[apellido];
$var3=$_POST[telefono];
$var4="INSERT INTO clientes VALUES ('$var1','$var2','$var3')";
$proob=mysql_query($var4) or die ("Query failed: $var4");
$link=mysql_close() or die("Error al tratar de cerrar!!");

Espero que les sirva de algo.

Gustavo

18/7/2006
He aquí una buena solución para evitar que el usuario apriete el botón de envío dos veces en los formularios:

<form .....>
//elementos del formulario
//...
//...

<input type="submit" name="Envio" id="Envio" value="Texto Botón" onClick="getElementById('Envio').style.display='none'; getElementById('Envio2').style.display='block'; ">
<input type="submit" name="Envio2" id="Envio2" style="display: none" value="Texto botón enviando..." disabled>
</form>

Hector

11/8/2006
Hola me han servido mucho sus ejemplos pero tengo un problema no logro borrar algun registro este es mi codigo ¿estoy haciendo algo mal?

<?
//Conexion con la base
mysql_connect("localhost","root","");

//Creamos la sentencia SQL y la ejecutamos
$sSQL="Delete From Clientes Where nombre='$nombre'";
mysql_db_query("ejemplo",$sSQL);
?>

karencita

24/8/2006
encontre este scrip para evitar q el usuario apriete dos veces el boton enviar, pero tengo una duda...cual es el contenido de la funcion getElementById o es una funcion q viene con php????


<form .....>
//elementos del formulario
//...
//...

<input type="submit" name="Envio" id="Envio" value="Texto Botón" onClick="getElementById('Envio').style.display='none'; getElementById('Envio2').style.display='block'; ">
<input type="submit" name="Envio2" id="Envio2" style="display: none" value="Texto botón enviando..." disabled>
</form>

Olguita

07/9/2006
Hola a mi me resultó de la siguiente manera

<?
$cod=$_POST['cod'];
$desc=$_POST['desc'];
$cant=$_POST['cant'];
$link = mysql_connect("localhost", "bdprueba", "pssprueba")
or die("Could not connect to database!");
mysql_select_db("dbp_customer")
or die("Could not select database!");
$query = "insert into Prod (cod,desc,cant) values
('$cod','$desc','$cant')";
$result = mysql_query($query)
or die("Query failed:$query");
?>

a la amiga anterior le resultaba con los apóstrofes en la tabla y en los campos de la tabla, pero a mi me lanzaba el siguiente error:

Query failed:insert into `Prod` (`cod`,`desc`,`cant`) values
('$cod','$desc','$cant')

gergie

14/10/2006
El ejemplo al final de la explicacion tira varios errores al ser activado.

carlos

28/11/2006
excelente este ultimo comentario funciona correctamente me salia en blanco los datos pero usando los pst entra perfecto gracias

Kevin

01/3/2007
Hola que tal alguien me podria ayudar a hacer es te codigo mas SEGURO??? es muy inseguro ya que puedo ingresar datos como cualquier otra cosa, GRACIAS!

andres

22/3/2007
no he podido ingresar registros cuando le doy al boton de guardar me abre la pagina donde el condigo de insert y no he podido saber porque, alguien me puede colaboarar con esto y muchas gracais

Ariel

29/4/2007
Finalmente despues de buscar otros ejemplos y comparar, me di cuenta del error del codigo fuente de este ejemplo:

antes de ejecutar la siguiente sentencia:
mysql_query("insert into clientes (nombre,telefono) values ('$nombre','$telefono')");

hay que hacer lo siguiente:
$nombre=$_POST[nombre];
$telefono=$_POST[telefono];

por q no nos olvidemos que las variables nombre y telefono las recivimos de un formulario mediante el metodo post.

osea que quedaria así:

$nombre=$_POST[nombre];
$telefono=$_POST[telefono];

mysql_query("insert into clientes (nombre,telefono) values ('$nombre','$telefono')");

asi si que anda.

Saludos

RESPUESTA

Tienes razón, como tú dices funciona perfectamente, pero como está en el artículo en muchos casos también funciona, pero sólo si register_globals está activado.

Muchas gracias por el comentario, que será muy útil para los lectores.

Fabián

10/5/2007
-------------------------------------------------
Reseña:
PHP Version 5.2.0
MySQL 5.0
phpMyAdmin 2.6.0
-------------------------------------------------

Un foro tan útil y tan ventajoso como es este merece aportes válidos de sus usuarios. Por eso, yo también me auno con este pequeño aporte que funciona perfectamente con muchos más campos. Lo he resumido a solo dos campos para no alargar y complicar la visualización del ejemplo:

Fichero PHP con formulario:

<form method="post" action="adduser.php" form name="FormAddUser">
<label>Name:</span>
<input name="user_name" type="text" value=""/> </label>
<label>Lastname:</span>
<input name="user_lastname" type="text" value=""/>
</label>
<input name="Save Record" type="submit" class="input" id="Submit" value="Save Record"/></label></form>

Fichero PHP con código [adduser.php]:

<?php
$user_name = $_POST['user_name'];
$user_lastname = $_POST['user_lastname'];
mysql_connect("localhost","Usuario_BD","Clave_BD");
mysql_select_db("BD");
mysql_db_query("BD", "INSERT INTO `tabla` (`user_name`, `user_lastname`) VALUES ('".$_POST['user_name']."','".$_POST['user_lastname']."')");
?>
// El resto de información en HTML, etc., a partir de aquí....

Espero que os sirva.

hector

14/5/2007
yuri el codigo que pusisten me sirvio caleta! gracias

PHPini

07/6/2007
Pues... tengo una tabla de comics y otra con imagenes de cada comic.
Creo un form para añadir nombres de comic a la tabla y todo correcto.
Pero despues de insertar el nombre lo logico es poner las fotos que le corresponden en la otra tabla. Redirijo tras el primer insert al form donde introduzco el nombre de la imagen.
Pero... como obtengo el id del nombredelcomic que he puesto antes????
no vale mysql_insert_id porque quiero poner mas de una foto seguida y se pierde el valor...
¿por donde puedo seguir?

cesar elCHANA

24/7/2007
Jo! llevo 1 día entero intentando descubrir el error y simplemente era activar el "register"...
Gracias a todos por vuestra ayuda y dedicación. Estoy intentando aprender PHP con MySQL y sin duda este es el manual que mejor estoy entendiendo e interpretando.

Oscar

10/8/2007
Este ultimo ejemplo a mi si me funciono......saludos desde Chiapas, México

Rafa

23/8/2007
Tengo un problema al realizar el ejemplo, no me funciona. He revisado el error log del apache y me aparece el siguiente mensaje :"[error] PHP Fatal error: Call to undefined function mysql_connect() in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\bases\leer.php on line 10

es decir que la funcion mysql_connect no esta definida y no se como puedo definirla o en qué librería está. Espero que me puedan ayudar, gracias.

dali

31/8/2007
Yo estoy tratando de hacer un amb en php sin usar mysql.
En una pagina hay noticias (son archivos abiertos y creados por mi) y en la otra,segùn lo que eligio el usuario(agregar,eliminar o modificar) debo realizar la accion elegida SOLO de la noticia que eligio.La pregunta es como elimino parte del texto del archivo original(donde tengo todas las noticias juntas) y NO todo el archivo de noticias?, como modifico parte dell texto del archivo?como agrego texto al archivo?(para otra noticia)
muchas gracias

kari

29/11/2007
y q hago si tiene una llave foranea????????
en verdad no me lo acepta.

Marcelo

10/2/2008
Hola a todos....

este código es el que le va a andar :

Formulario:

<HTML>
<HEAD>
<TITLE>Insertar.html</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Insertar un registro</h1>
<br>
<FORM METHOD="POST" ACTION="insertar.php">
Nombre<br>
<input type="TEXT" name="name">
<br>
Comentario<br>
<INPUT TYPE="TEXT" NAME="comment"><br>
<INPUT TYPE="SUBMIT" value="Insertar">
</FORM>
</div>
</BODY>
</HTML>

Insertar.php:
<HTML>
<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?
$name=$_POST['name'];
$comment=$_POST['comment'];
$link = mysql_connect("localhost", "root", "")
or die("Could not connect to database!");
mysql_select_db("aca pon tu base de datos")
or die("Could not select database!");
$query = "insert into `TU TABLA`(`name`,`comment`) values
('$name','$comment')";
$result = mysql_query($query)
or die("Query failed:$query");
?>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base</a></div>
</BODY>
</HTML>

yeisonrv@hotmail.com

13/4/2009
por nestor
tengo el siguiente codigo pero no, registra datos enla base de datos que ten creada en myadmin
por favo necesito ayuda
<HTML>
<HEAD>
<TITLE>Insertar.html</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Insertar un registro</h1>
<br>
<FORM METHOD="POST" ACTION="insertar.php">
Nombre<br>
<INPUT TYPE="TEXT" NAME="nombre"><br>
Teléfono<br>
<INPUT TYPE="TEXT" NAME="apellido"><br>
<INPUT TYPE="SUBMIT" value="Insertar">
</FORM>
</div>
<?
//Conexion con la base
$conexion=mysql_connect("localhost","root","");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("prueba",$conexion);

//Ejecucion de la sentencia SQL
$sql = 'INSERT INTO `prueba`.`clientes` (`id_clientes`, `nombre`, `apellido`) VALUES (NULL,`$nombre`,`apellido`);';
?>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base</a></div>
</BODY>
</HTML>

nestor raul villegas

23/4/2009
tengo problemas no registra los datos en la base de datos
por favor ayundenme, ten go el siguiente codigo pero al enviar datos no los registra y no genera ningun error , les agradezco su colaboracion.

<HTML>
<HEAD>
<TITLE>Insertar.html</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Insertar un registro</h1>
<br>
<FORM METHOD="POST" ACTION="insertar.php">
Nombre<br>
<INPUT TYPE="TEXT" NAME="nombre"><br>
Teléfono<br>
<INPUT TYPE="TEXT" NAME="apellido"><br>
<INPUT TYPE="SUBMIT" value="Insertar">
</FORM>
</div>
<?
$nombre=$_post[`nombre`]
$apellido=$_post[`apellido`]
//Conexion con la base
mysql_connect("localhost","root","");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db(`prueba`);

//Ejecucion de la sentencia SQL
mysql_query("prueba" "insert into clientes (nombre,apellido) values (`".$_post[`nombre´]."´,`".$_post[`telefono´]."´)";
?>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base</a></div>
</BODY>
</HTML>

julieth

16/5/2009
esta bueno
Este articulo me gusto mucho por que esta bien explicado como funciona la insercion de los registros ademas me fue de mucha ayuda.
de pronto te daria una recomendacion que profundices mas en la parte de la sentencia sql, por ejemplo a mi me gustaria saber por que nombre y telefono que son los nombres de los text se colocan como varibles.
bueno de todas maneras muchas gracias.

narciso rivera

17/8/2009
garcias
finalmente pude crear una base de datos funcional gracias a esta pagina y a sus comentarios

andres2088

15/10/2009
nunca me salio
no se que estoy haciendo mal, he probado de todas la formas y no me resulta ingresar datos. revice los nombres de todos lo campos,de la base,la pass de la base y no me ingresa :(

andres2088

16/10/2009
ahora si
Por fin me salio, despues de mucho estres, por si a alguien le sirve...
formulario:

<HTML>
<HEAD>
<TITLE>Insertar.html</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Insertar un registro</h1>
<br>
<form action="http://localhost/base/Insertar.php" method="post">
Nombre<br>
<INPUT TYPE="TEXT" NAME="nombre"><br>
Teléfono<br>
<INPUT TYPE="TEXT" NAME="telefono"><br>
<INPUT TYPE="SUBMIT" value="Insertar">
</FORM>
</div>
</BODY>
</HTML>

php...


<HTML>
<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?
$nombre=$_POST[nombre];
$telefono=$_POST[telefono];

$link = mysql_connect("localhost", "root", "")
or die("Could not connect to database!");
mysql_select_db("ejemplo")
or die("Could not select database!");
$query = "insert into `clientes` (`nombre`,`telefono`) values
('$nombre','$telefono')";
$result = mysql_query($query)
or die("Query failed:$query");
?>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base</a></div>
</BODY>
</HTML>


gracias yuri me sirvio mucho tu codigo

Ayuditasss

20/10/2009
Ayuditasss
Felicidades por la entrada..muy interesante...yo la verdad es que creo mucho en estas cosas y en los amigos. Os animo a hacer cosas en común...la última de mi pandilla:

No se si conocereis el juego del bruto, yo lo conozco desde hace poco, y con un grupo de amigos nos hemos apostado un fin de semana en una casa rural para ver quien consigue el mayor bruto en 6 meses....
Ayudadme, se que no me conoceis de nada, pero os aseguro que de los tres últimos que han entrado, uno ha heredado un lobo y otro un oso....el otro lo normal pero bueno....
Es importante par amí...quiero ser el ganador...además es un buen juego para echarse unas risas con tus amigos....os los recomiendo:

Entrad aquí y coonseguir un bruto:

http://wwooo.elbruto.es/

En el primer combate os enfrentareis a mí, y siempre se pierde contra tu maestro, pero a partir de ahí, ya es cuestion de como juegues...ánimo!

http://wwooo.elbruto.es/

Gracias

Rubén Rodríguez Zegovia

23/10/2009
codigo php, no graba datos en la tabla
<HTML>
<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?
//Conexion con la base
mysql_connect("localhost","","");
// selecciona base de datos con la que vamos trabajar
mysql_select_db("menagerie",conexion);
//Ejecucion de la sentencia SQL
mysql_query("insert into cliente (nombre,telefono) values ($nombre,$telefono)",conexion);
?>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base</a></div>
</BODY>
</HTML>

Este codigo al ejecutarlo, me dice que intserto los datos, pero no lo hace checo la tabla cliente y esta vacia.
mi base de datos es menagerie, ahi cree la tabla ciente, si alguien me puede apoyar para ver donde esta el error

Saludos

Rubén Rodríguez Zegovia

23/10/2009
No da de alta registros el script
Ya probe con diferentes opciones y no funciona, lo que tengo instalado es lo sigiente:
Mysql Ver. 5.1.30
PHP V 5.2.6

Con Windows Vista

Si alquien puede ayudar

saludos

juan

06/1/2010
hayuda con un boton buscar
este es mi codigo y no me busca necesito que me ayuden
<?php
$busca=$_POST['buscar'];
if($busca=='buscar'){

$link = mysql_connect("localhost", "root","123456");
mysql_select_db("libreria", $link);

$result =mysql_query("SELECT * FROM juan WHERE Cedula='$busca'",
$link);
$consulta = mysql_query($result,$link);

}

?>

Juan Carlos

17/3/2010
Que estress
lo que me estaba fallando eran las comillas. Yo estaba colocando ' y era ` , pequeño detalle que me hizo perder 2 horas

hugo

29/3/2010
insertar registro en mysql con php
Excelente el codigo!!! fue una solucion luego de investigar x 2 dias. Muchas gracias!!!!

Jose

22/4/2010
Y si rizamos el rizo con imágenes
He probado a hacer el formulario para subirlo a la base de datos y gracias a todos vosotros lo he conseguido. Pero ahora estoy con la picha echa un lio porque lo que ahora no me sube son las fotos. Soy muy nuevo en esto y por lo que veo hay dos opciones. 1. subirlas directamente al servidor que consume muchos recursos y ralentiza los procesos, o 2 subirla a una carpeta del servidor y almacenar en la base de datos la url de la imagen. ¿Cómo puedo hacer que me funcione mi formulario para que también me suba las fotos al server y me añada directamente la dirección de la foto a la BBDD?
Muchas gracias, el código que llevo hecho es este:

Primero el formulario

<body>
<table width="700" border="0" cellspacing="1"><div align="left">
<tr>
<th>
<h3><font style="font-family:"Century Gothic"">Dar de alta su empresa es tan simple como rellenar este formulario</font></h3>
</th>
</tr>
<tr>
<td width="535" scope="col" bgcolor="#003399"> <form action="insertar.php" method="post" enctype="multipart/form-data">
<p align="left"><label style="color:#FFFFFF">Nombre Empresa.:<input name="nombre" type="text" size="50" maxlength="50" align="left" /></label></p>
<p align="left"><label style="color:#FFFFFF">Dirección............: <input name="direccion" type="text" size="50" maxlength="50" align="left" /></label></p>
<p align="left"><label style="color:#FFFFFF">Población...........: <input name="poblacion" type="text" size="50" maxlength="50" align="left" /></label></p>
<p align="left"><label style="color:#FFFFFF">Cod.Postal..........:<input name="cpostal" type="text" size="6" maxlength="6" align="left" /></label></p>
<p align="left"><label style="color:#FFFFFF">Provincia.............:<input name="provincia" type="text" size="30" maxlength="30" align="left" /></label></p>
<p align="left"><label style="color:#FFFFFF">País.....................:<input name="pais" type="text" size="30" maxlength="30" align="left" /></label></p>
<p align="left"><label style="color:#FFFFFF">Teléfono.............:<input name="telefono1" type="text" size="9" maxlength="9" align="left" /></label>
<label style="color:#FFFFFF">Teléfono2...........:<input name="telefono2" type="text" size="9" maxlength="9" align="left" /></label></p>
<p align="left"><label style="color:#FFFFFF">Email..................:<input name="email" type="text" size="30" maxlength="50" align="left" /></label></p>
<p align="left"><label style="color:#FFFFFF">Web...................:<input name="web" type="text" size="30" maxlength="50" align="left" /></label></p>
<p align="left"><label style="color:#FFFFFF">Logo..................:<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
<input name="logo" type="file"></label><font size="-2">Máx. 100kb. Jpg o Gif</font></p>
<p align="left"><label style="color:#FFFFFF">Imagen1.............:<input type="hidden" name="MAX_FILE_SIZE" value="1000000" /><input name="imagen1" type="file"></label><font size="-2">Máx. 100kb. Jpg o Gif</font></p>
<p align="left"><label style="color:#FFFFFF">Imagen2.............:<input type="hidden" name="MAX_FILE_SIZE" value="1000000" /><input name="imagen2" type="file"></label><font size="-2">Máx. 100kb. Jpg o Gif</font></p>
<p align="left"><label style="color:#FFFFFF">Imagen3.............:<input type="hidden" name="MAX_FILE_SIZE" value="1000000" /><input name="imagen3" type="file"></label><font size="-2">Máx. 100kb. Jpg o Gif</font></p>
<p align="left"><label style="color:#FFFFFF">Imagen4.............:<input type="hidden" name="MAX_FILE_SIZE" value="1000000" /><input name="imagen4" type="file"></label><font size="-2">Máx. 100kb. Jpg o Gif</font></p>
<p align="left"><label style="color:#FFFFFF">Imagen5.............:<input type="hidden" name="MAX_FILE_SIZE" value="1000000" /><input name="imagen5" type="file"></label><font size="-2">Máx. 100kb. Jpg o Gif</font></p>
<p align="left"><label style="color:#FFFFFF">Imagen6.............:<input type="hidden" name="MAX_FILE_SIZE" value="1000000" /><input name="imagen6" type="file"></label><font size="-2">Máx. 100kb. Jpg o Gif</font></p>
<p align="left"><label style="color:#FFFFFF">Imagen7.............:<input type="hidden" name="MAX_FILE_SIZE" value="1000000" /><input name="imagen7" type="file"></label><font size="-2">Máx. 100kb. Jpg o Gif</font></p>
<p align="left"><label style="color:#FFFFFF">Imagen8.............:<input type="hidden" name="MAX_FILE_SIZE" value="1000000" /><input name="imagen8" type="file"></label><font size="-2">Máx. 100kb. Jpg o Gif</font></p>
<p align="left"><label style="color:#FFFFFF">Imagen9.............:<input type="hidden" name="MAX_FILE_SIZE" value="1000000" /><input name="imagen9" type="file"></label><font size="-2">Máx. 100kb. Jpg o Gif</font></p>
<p align="left"><label style="color:#FFFFFF">Imagen10...........:<input type="hidden" name="MAX_FILE_SIZE" value="1000000" /><input name="imagen10" type="file"></label><font size="-2">Máx. 100kb. Jpg o Gif</font></p>
<p align="left"><label style="color:#FFFFFF">Texto descriptivo del servicio que ofrecen:<textarea name="texto" maxlength="1500" type="text" align="left" rows="8" cols="60">Su texto....</textarea></label></p><br />
<input type="submit" name="enviar" value="Enviar:" />
</form></div>
</th>
<th width="164" scope="col" valign="top">
&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</body>
</html>

Luego el php "insertar.php"

<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?
$empresa=$_POST[empresa];
$direccion=$_POST[direccion];
$poblacion=$_POST[poblacion];
$cpostal=$_POST[cpostal];
$provincia=$_POST[provincia];
$pais=$_POST[pais];
$telefono1=$_POST[telefono1];
$telefono2=$_POST[telefono2];
$email=$_POST[email];
$web=$_POST[web];
$logo=$_POST[logo];
$imagen1=$_POST[imagen1];
$imagen2=$_POST[imagen2];
$imagen3=$_POST[imagen3];
$imagen4=$_POST[imagen4];
$imagen5=$_POST[imagen5];
$imagen6=$_POST[imagen6];
$imagen7=$_POST[imagen7];
$imagen8=$_POST[imagen8];
$imagen9=$_POST[imagen9];
$imagen10=$_POST[imagen10];
$texto=$_POST[texto];
//Conexion con la base
$link = mysql_connect ("localhost","tu usuario", "tu contraseña")
or die("No se pudo conectar con la base de datos");
//selección de la base de datos con la que vamos a trabajar
mysql_select_db("tu base de datos")
or die("No se pudo seleccionar la base de datos");
//Ejecucion de la sentencia SQL. Notese que "clientes" es el nombre de la tabla BBDD
$query = "insert into `clientes` (`empresa`,`direccion`,`poblacion`,`cpostal`,`provincia`,`pais`,`telefono1`,`telefono2`,`email`,`web`,`logo`,`imagen1`,`imagen2`,`imagen3`,`imagen4`,`imagen5`,`imagen6`,`imagen7`,`imagen8`,`imagen9`,`imagen10`,`texto`) values
('$empresa','$direccion','$poblacion','$cpostal','$provincia','$pais','$telefono1','$telefono2','$email','$web','$logo','$imagen1','$imagen2','$imagen3','$imagen4','$imagen5','$imagen6','$imagen7','$imagen8','$imagen9','$imagen10','$texto')";
$result = mysql_query($query)
or die("Falló la consulta:$query");
?>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base de datos</a></div>
</BODY>
</HTML>

Ahora cuando lo ejecutas y le das a enviar se te graba todo en la base de datos excepto las fotos.
¿Cómo lo hago?¿Qué me falta? Socorro!!!

edgar_vargas-578932

10/5/2010
no se agregan datos
hago el ejemplo como me lo indican en el manual para insertar un registro a la BD y no se agrega que estara pasando cosa como esta ahcen que las personas terminen desertando de la aplicacion sera que me falta alguna configuracion en el php por favor ayuda gracias de antemano

anflogger

09/6/2010
COMO HAGO PARA ENVIAR VARIOS DATOS A UNA MISMA TABLA
bueno! mi problema es: q tengo una tabla personal de esta forma relacionada con una tabla llamada hijos, pero lo q no se es q despues del primer insert sigue otro insert de la tabla hijos pero no se como hacer para ingresar varios hijos a la misma tabla a la misma vez..

$conexion=mysql_connect("localhost","root","12345") or print ("error en la conexion al motor de datos");
mysql_select_db("cruz_roja",$conexion) or print ("error en la seleccion de la base de datos");

// ESTA SON CAPTURAS DE MI PRIMER TABLA--
|CODPERSONA|NOMBRE|APELLIDO1|APELLIDO2|
---------------- ---------- ----------- ------------
$codpersona=$_POST['boxcod'];
$nombre=$_POST['boxname'];
$apellido1=$_POST['boxape1'];
$apellido2=$_POST['boxape2'];

// SIGUE OTRA TABLA EN LA MISMA CAPTURA (ESTA SE RELACIONA CON LA PRIMERA TABLA--)

(TABLA LLAMADA: HIJOS) esta lleva una llave foranea q es "codpersona".

CODPERSONA|CODIGO|NOMBRE|OCUPACION|
--------------- ---------- ---------- -------------

//HIJO 1.
$nombre$_POST['boxhijo1'];
$ocupacion$_POST['boxocup1'];

//HIJO2.
$nombre2$_POST['boxhijo2'];
$ocupacion2$_POST['boxocup2'];

//HIJO 3.
$nombre3$_POST['boxhijo3'];
$ocupacion3$_POST['boxocup3'];

INSERT....

Me pueden ayudar con este insert por favor... ayudenemen necesito esta explicacion gracias

clemente

24/6/2010
como hacer una nota
he querido hacer una nota en php, pero el problema es que cuando tecleo los datos (cantidad , codigo del producto) se meborran los datos, y como le hago, para que en cada renglon me valla mostrando el registro de cada fila

pily

06/8/2010
Gracias
Gracias a todos por su enorme ayuda.. deseo de todo corazon que reciban mucha ayuda tambien ...

Me salio todo al primer intento.. ahora ya soy me estoy interesando por PHP...

*pilo*

jessica

05/12/2010
borrar registros
es la primera vez q escribo pero estaba en un apuro y este foro fue el q me salvo uds son lo maximo

My_kontact

29/12/2010
PROBLEMAS PARA INSERTAR EN LA BD
HOLA, EN PRIMERA LES FELICITO POR ESTA PAGINA Q ES MUY BUENA Y Q ASI SIGAN ESPERO APORTAR ALGO PROXIMAMENTE YA Q TMBN YO SOY UN LIDER DE UN GRUPO EN MI UNIVERSIDAD DE LO CUAL TNG A MI CARGO A 11 PERSONAS (HASTA AHORITA, JEJE) Y PUES APENAS ESTAMOS APRENDIENDO A PROGRAMAR EN PHP YO YA HABIA VISTO ALGO SOBRE EL DISEÑO CON "DW CS5" DE LO CUAL HE HECHO ALGUNAS COSAS; AHORITA YO ESTOY EN LA CREACION DE LA PAG. DEL GRUPO DE LO CUAL REQUIERO METER NOMBRES,APELLIDOS,CORREOS,ETC. OCUPE EL CODIGO OCUPANDO MIS PROPIOS DATOS DEL VIDEO ("Inserción de datos desde PHP a una tabla MySQL" ) DEL CUAL MUESTRAN COMO HACERLO PERO AQUI MI PROBLEMA ES Q NO ME AVISA Y APARTE NO SE INSERTA NADA EN LA BD, SOLO REGRESA AL INICIO COMO SI LO ACABARA DE ABRIR EL ARCHIVO.(YO OCUPO "XAMPP"). AQUI PONGO MI CODIGO: (TAMBIEN TNG DUDA EN EL $SSQL DONDE ESTAN LOS **, NO SE SI VALLA ASI YA Q ASI LO LOGRE APRECIAR EN EL VIDEO)

<?php
if(!$_post){
?>

<form metod="post" action= "insert2.php">
Nombre: <input type="text" name="nombre">
<br>
<br>
correo: <input type="text" name="correo">
<br>
<br>
contraseña: <input type="text" name="contraseña">
<br>
<br>
<input type="submit" value="enviar">
</form>

<?php

}else{

(**) $ssql = "insert into $prueba (nombre,correo,contraseña) value ('" . $_POST["nombre"] . "', ". $_POST["correo"]."', '". $_POST["contraseña"]."')";
$conexion = mysql_connect ("localhost","root","");
mysql_select_db ("php", $conexion);

if(mysql_query( (**) ssql,conexion)){
echo "sentencia de inserccion correcta";

}else
echo "no se inserto nada!!";

}

?>

DE ANTEMANO LES DOY LAS GRACIAS Y ESPERO SU AYUDA.

ATTE:EL SENSEI XD (ASI ME LLAMAN MIS CHICOS JEJE)

pablo

02/5/2011
codigo
Este es el codigo que me funciono. Espero que les sirva.


<HTML>
<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?
$nombre=$_POST['nombre'];
$telefono=$_POST['telefono'];

$link = mysql_connect("localhost", "root", "run22222")
or die("Could not connect to database!");
mysql_select_db("hogar")
or die("Could not select database!");
$query = "insert into `clientes` (`nombre`,`telefono`) values
('$nombre','$telefono')";
$result = mysql_query($query)
or die("Query failed:$query");
?>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base</a></div>
</BODY>
</HTML>

Darwuin

30/6/2011
Base de Datos
hola a todo alguien me podria decir la base de datos para este codigo php ya que lo perdi lo baje en un tuto de esta pag

<HTML>
<HEAD>
<TITLE>Insertar.html</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Insertar un registro</h1>
<br>
<FORM METHOD="POST" ACTION="insertar.php">
Nombre<br>
<INPUT TYPE="TEXT" NAME="nombre"><br>
Apellido
<br>
<INPUT NAME="apellido" TYPE="TEXT" id="apellido">
<br>
<INPUT TYPE="SUBMIT" value="Insertar">
</FORM>
</div>
</BODY>
</HTML>



estamos hablando de la pag de consulta esa que dicen crear una tabla llamada ejemplo

Luis

31/7/2011
Internal Server Error
Saludos, realice el ejemplo tal y cómo se indica y al presionar el botón me muestra Internal Server Error.. ¿?

Borja

09/11/2011
Importante
Es importante acordarse de definir las variables que se introducen en el formulario dentro del php, con
$nombre = $_POST['nombre'];
$telefono = $_POST['telefono'];

de lo contrario no añadirá el registro ;)

Saludetes

JoseLpadi

20/1/2012
mysql_db_query
Hola amigos, esta funcion ha sido declarada como obsoleta en php 5.3.0 y no se aconseja su utilizacion.
Lo ideal es utilizar mysql_select_db() y mysql_query().

La fuente de dicha informacion se encuentra en:

http://php.net/manual/es/function.mysql-db-query.php

Daniel Gonzales

29/3/2012
instruccion INSERT
Amigos, gracias por esta pagina. La opción de INSERT, me funciono de la siguiente manera:

<HTML>
<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?
$nombre=$_POST['nombre'];
$telefono=$_POST['telefono'];

mysql_connect("localhost", "root", "") or die("Could not connect to database!");

mysql_select_db("ejemplo") or die("Could not select database!");

$query = "insert into `clientes` (`nombre`,`telefono`) values ('$nombre','$telefono')";

mysql_query($query) or die("Query failed:$query");
?>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base</a></div>
</BODY>
</HTML>

Anita

02/6/2012
La sentencia es correcta y conectar conecta
Buenos días, mas o menos.
Os comento cual es mi problema. Tengo una sentencia para insertar datos en una tabla, la sentencia es correcta puesto que si la copio en el SQL de phpmyadmin funciona y sé que la función conecta bien porque antes de intentar el insert hago una comprobación de que el usuario a insertar no existe y va perfe.
Cuando ejecuto mysql_query(aki el insert, $c); donde $c es mi conecxión no ocurre absolutamente nada no me devuelve ni true ni false ni nada de nada.

Una ayudita¿?¿?

Mi código:
$c = conectar();
$peticion = "INSERT clientes (usuario , contraseña , empresa , nombre , apellidos , dni , direccion , cp , provincia , localidad , telefono , email , tipo)";
$peticion .= " VALUES ('".$user."','".$_POST['pass']."','".$_POST['nomEmpresa']."','".$_POST['nombre']."','".$_POST['apellidos']."','".$_POST['dni']."','".$_POST['direccion']."','".$_POST['cp']."','".$_POST['provincia']."','".$_POST['localidad']."','".$_POST['telf']."','".$_POST['email']."','empresa');";
mysql_query($peticion , $c);
cerrar($c);

Anita

02/6/2012
Solucionado
Es mejor q os andeis con cuidado con las 'ñ', juegan malas pasadas y xa los q somos castellano parlantes y nos gusta esta letra... la programación anda dando la vara!!! jajaja

La mejor solución fue poner or die(mysql... y ahí me indicó el error.

Aunq no ha dado tiempo a q me contesten muchas gracias por todo y enhorabuena por ayudar a tantos

dani243

12/8/2012
Formulario y añadir campos a base de datos en la misma pagina
Hola buenas soy iniciado en esto y me gustaría que me dijeseis que estoy haciendo mal porque no me funciona. Gracias de antemano!
<body>
<?php
$email=trim($_POST['email']);
$pass=trim($_POST['pass']);

if(isset($_POST['enviado'])){
mysql_connect('localhost','root');
mysql_select_db('prueba');
mysql_query( "insert into usuarios (correo,contraseña) values ('$email','$pass')");
}
?>
<div id="contenedor" align="center">
<form action="registrarse.php" method="post">
<input type="email" name="email" />
<input type="password" name="pass" />
<br />
<input type="submit" name="enviar" value="enviar" />&nbsp;&nbsp;&nbsp;<a href="index.php">Volver</a>
<input type="hidden" name="enviado" value="true" />
</form>
</div>

</body>

Compartir