Insertar registros en una base de datos MySQL con PHP


Para guardar un registro en una base de datos MySQL necesitamos establecer una conexión con el servidor.

$conexion = mysql_connect("servidor" , "usuario" , "password");

seleccionamos la base de datos en la cual se insertaran los datos.

mysql_select_db("bd",$conexion);

Creamos la consulta de inserción.

$sql = "INSERT INTO tabla (campo1, campo2, campo3) VALUES ('value1','value2',value3)";

Para ejecutar la consulta necesitamos escribir el siguiente código.

mysql_query($sql);

Abajo se muestra un pequeño ejemplo. En el cual el servidor es localhost, el nombre de usuario es user, la contraseña es pass, la base de datos se llama escuela y se inserta un registro en la tabla alumnos.

Los campos de la tabla alumnos son los siguientes:

  • id_alumno
  • nombre
  • apellido
  • edad

Nota: en la consulta no incluyo el campo id_alumno debido a que es de tipo autoincrementable.

archivo: inserta.php

<?php

$conexion = mysql_connect(«localhost»,»user»,»pass»);

mysql_select_db(«escuela»,$conexion);

$sql=»INSERT INTO alumnos(nombre,apellido,edad) VALUES(‘Sonia’,’Romo’,20)»;

mysql_query($sql);

?>

Puedes encontrar mas ejemplos de PHP y MySQL en codedrinks

44 comentarios en “Insertar registros en una base de datos MySQL con PHP

  1. Gracias por tu comentario. ojala que te haya servido

  2. Gracias, justo lo que estaba buscando
    Salu2

  3. esta jevi me ayudo muchos, muchas gracias pana

  4. Muy buen ejemplo me parece bien claro, solo que tengo una pregunta adicional, como hago solo para insertar una info en una columna especifica.? o sea adicionar una informacion en una columna especifica. espero haberme explicado bien.

    Gracias!

  5. Muchas gracias!, me fue de gran utilidad.

  6. muy bueno…pero no me hace ningun insert…y nose que hacer

    Ingreso de Informacion

    INGRESO DE INFORMACION  

    Registro

    Nombre

    Clave

     

     
     

    y add_rega.php

    si alguien me puede ayudar se lo agradecere…

  7. me podrian decir como insertar datos en una tabla ke ya cree en MySQL 3.1.3 me pide una funcion y luego un valor nose que poner en eso alguien me podra ayudar?????

  8. pues si todod eso ya lo sabia la cosa esq nomas no me funciona ni idea en q este fallando alguien ayudeme!!!…proq segun yo el codigo esta bien pero pues no lo hace!!!

  9. heyy

    HOLA A TODOS PUES SOLO PARA AGRADECER POR ESTE ESPACIO PUES YO ESTOY HACIENDO UN PROYECTO Y TENIA MAS DE 3 SEMANAS BUSCANDO ALGO COMO ESTO, YA QUE YO MANEJO ASP.NET Y SQL PERO JAMAS PHP Y MYSQL, SE QUE ES LO MISMO PERO LO VISUAL CAMBIA ENTONCES SI ENTRO EN CONFUSION PERO BUENO MUCHAS GRACIAS POR ESTO.

  10. Podrias poner el ejemplo con el archivo php que tenga el formulario, el archivo inserta.php y la base de datos en un archivo sql. Gracias!!!…

  11. Pero ni bien se ejecuta este script ya se esta insertando un registro.

  12. Hola, muchas gracias me sirvio bastante =D

  13. esta muy bueno el tema que esta en este foro de verdad gracias por los temas vistos se les agradece mucho me ha servido de mucho pero quiesiera saber como puedo hacer para que no me introduzca valores nulos es mas facil validar eso con javascript o lo puedo hacer en php

  14. gracias por el dato, se me habian olvidado algunas sentencias

  15. He Hecho todo pero no me inserta ningun registro no aparece ningun error en el escrip

    Q U E

    H A G O

    POR FAVOR AYUDENME

  16. Pues antes que nada checa que php y mysql esten funcionando bien.

    Despues checa que tu base y tabal esten bien.

    Despues checa que en la conexión esten bien tus datos:

    servidor: por lo general si estas en tu pc le pones localhost
    usuario: por default es root
    password: por lo general no tiene solo pones las comillas en blanco y si le pusiste contraseña pues escribes la contraseña.

    base de datos: nombre que le pusiste a tu base de datos.

    luego checa que en la consulta este correcto en nombre de tu tabla, los campos y los valores.

    tambien checa que tus campos sean char a excepción del id que es de tipo serial.

  17. Muchas gracias por este aporte 😀

  18. una duda cuandon intento guardar unos numero de un registro en la base de datos me los pono como <src porque sera eso??

  19. Hola amigo, siempre he trabajadon con joomla y ahora quiero hacer algo asi como un CMS propio que cubra solo mis necesidades y de php y mysql poco se, esto que publicaste me ayudo a entender muchas cosas se te agradece.

  20. Gracias por la informacion la habia estado buscando a ver como me funciona…..

  21. se va a mis favoritos, estoy haciendo algo similar y me van a servir de mucho tus ejemplos
    Gracias,

  22. Me sirvio muchisimo . Estaba haciendo un upload de archivos que copiaba los archivos en una carpeta del servidor e insertaba un registro con el nombre del archivo y luego se podia hacer una consulta y te traia el archivo para visualizarlo . Si me copiaba la imagen no me insertaba el registro y viceversa pero por suerte me ayudaste con este tuto .

    Te lo agradezco un montonazo

  23. Hola muchas gracias por su atencion y colaboracion pues el inconvewniente con lo que le mande anteriormente ya lo soluciones, ahora el problema que tengo es con algo muy similar el codigop es el siguiente:

    la diferencia es que los componentes correspondientes a la valiable $Si5 y $No5 son 2 Ckeckbox, he revisado bien el nombre de las variables y los campos de las bases de datos y al ejecutar la pagina web me dice:

    Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘?n (Nombre_B, Apellido_B, Email_B, Pais_Ciudad_B, Si, No, Mensaje) values (», ‘ at line 1

    a que se debera esto,,,,pues he hecho todo lo que esta a mi alcance y me sale el mismo error…

    Gracias.

  24. Hola muchas gracias por su atencion y colaboracion tengo un problema con la insercion de registros de una pagina web a una base de datos en Mysql.

    la diferencia es que los componentes correspondientes a la valiable $Si5 y $No5 son 2 Ckeckbox, he revisado bien el nombre de las variables y los campos de las bases de datos y al ejecutar la pagina web me dice:

    Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘?n (Nombre_B, Apellido_B, Email_B, Pais_Ciudad_B, Si, No, Mensaje) values (», ‘ at line 1

    a que se debera esto,,,,pues he hecho todo lo que esta a mi alcance y me sale el mismo error…

    Gracias por su colaboracion y respuesta..

  25. hola quisiera que me ayuende el problema es que no inserto mas reguistros ecepto uno solo
    ejemplo quiero insertar 3 registros, el ultimo reguistro si me lo inserta pero
    los dos primeros no lo hace o es que el inser que esta dentro de mi foreach esta
    mal ayuda si porfis, el codigo es el siguiente.

    foreach($canastaa as $k=> $v)
    {
    $rs_item=mysql_query(«select idproducto,precio_sugerido from producto where idproducto=’$k'»);

    if(!$rs_item)
    echo «Error SQL:».mysql_error();

    $item=mysql_fetch_array($rs_item);
    $idproducto=$item[0];
    $pv=$item[1];
    $cantidad=$v;
    $sub_total=$item[1]*$v;
    $sqldetall_pedido=»insert into detalle_pedido values(‘$idproducto’,’$pedidos’,’$pv’,’$cantidad’,’$sub_total’)»;

    }

  26. Saludos…

    me ha servido mucho tu explicacion… pero ahora tengo un pequeño problema…

    estoy guardando registros en mi base de datos pero utilizando dos paginas, una con el formulario y otra con el codigo php para que reciba los datos y genere el insert… si guarda algunos campos, pero en los que utilizo un combobox no me funciona, simplemente no guarda, como si se saltara el insert…

    Tambien probe el insert pero los valores q deberia tomar de los combos se los puse directamente en el codigo y ahi si guarda pero como sabes ese no es el objetivo…

    ah, los combos toman la informacion desde una tabla en mi bd.

  27. Saludos de nuevo…. si no es mucha molestia aqui pongo parte del codigo de ambas paginas, primero la del formulario de registro pero solo la parte de un combo y luego la del insert…

    ……………………………………………………………..

    Area Curricular

    Seleccione…

    <?php
    while ($contador
    <option value="» selected>

     

    ……………………………………………………………….

    esta es la otra…

    0)

    {

    ?>

    alert («No se puede dar de alta a esta asignatura, ya existe una con este codigo.»);

    location.href=»index.php»;

    > Asignaturas >> Nueva Asignatura «;

    $cabecera2=»INSERTAR ASIGNATURA «;

    //}

    $sel_maximo=»SELECT idasignatura as maximo FROM asignaturas ORDER BY idasignatura DESC LIMIT 1″;

    $rs_maximo=mysql_query($sel_maximo);

    $idasignatura=mysql_result($rs_maximo,0,»maximo»);

    }
    ahi les puse directamente los valores que deberian ser tomados de los combos xq si le pongo las respectivas variables simplemente no guarda ni tampoco da error.

    De antemano te agradezco y mil disculpas por abusar en contenido pero no tengo a quien recurrir.

    Saludos cordiales.

  28. Saludos de nuevo…. si no es mucha molestia aqui pongo parte del codigo de ambas paginas, primero la del formulario de registro pero solo la parte de un combo y luego la del insert…

    ……………………………………………………………..

    Area Curricular

    Seleccione…

    <?php
    while ($contador
    <option value="» selected>

     

  29. Amigo lo siento puse muchos caracteres y no lo postea bien.

  30. ey men muchas gracias me sirvio mucho

  31. se te agarece por la ayuda hermanoo

  32. Ola que tal .. saludos por la pagina.. mmm este me preguntaba si podria poner una doble consulta de inserción. y que se tomara……como doble…
    id_alumno: 1
    nombre: taalll
    apellido: taall
    edad: 27

    id_alumno: 2
    nombre: jorge
    apellido: taall
    edad: 34

    puedooo??? y como seria la consulta agradecceria un poco de yudaaa

  33. Hola, la verdad les digo, he visto cualquier cantidad de tutriales, he insyçtalado y desintalado el wampserver2.2, he leido como insertar registros una y otra vez, he configurado el php.ini, el htttp.conf, etc, he revisado todo lo que sale en internet y aunque no me crean, no he podido insertar pero ni un solo registro, estoy tan frustrado cuando leo que otros pueden hacerlo y yo no lo he podido hacer, y acepto que no se que hacer, ya no se que que revisar, realmente necesito ayuda, uso win xp professional, el servidor me levanta bien, el apache se carga y MySQL tambien, pero los script de php no se me ejecutan, el codigo .html se ejecuta bien pero cuando llega al srcipt embebido no se ejecuta nada, siceramente amigos necesito ayuda, pero mucha ayuda, estoy a punto de tirar la toalla, uuufffff.. somfug@hotmail.com

  34. somfuz@hotmail.com me equivoque con el correo y corrijo por si acaso alguien puede ayudarme, ayudarme, ayudarme…..instalado y desinstalado y tutoriales….

  35. Gracias por tomarte el tiempo en un minitutorial tan claro, aprendi rápido con tu explicación.

  36. No sé si este blog aún estará activo, pero, en todo caso, gracias por la ayuda.

  37. genial, muchas gracias… justo lo que estaba buscando XD

  38. Hola,
    tengo un problema com mi base de datos.
    Veréis, es sencilla :
    ID
    Nombre
    Apellidos
    Teléfono
    Email

    Me guarda todo estupendamente menos el mail que ingresas en el formulario, en ese campo siempre me guarda la palabra»email», en vez de la dirección introducida en el form…
    Sabéis por qué puede ser?
    Gracias

  39. hola que tal miren amigos tengo un problema con las consultas a mi bd no encunetro ningun error en el codigo y no me mnda eerores pero tampoco manda los campos que quiero que me muestre
    mi duda es hay algun tipo de permiso pra que esto se haga por que le puse las funciones or die al conectar al servidor y seleccionar la bd pero cunado hago la consulta no me devuelve ndad

  40. holii :3
    pues mira agan de kuenta k el profe cheko nos dejo aser una konexion y no se

  41. te re re agradezco!! hace dias que estoy renegando con esto y se me enviaron perfectamente los datos, muchisimas gracias…!!!

Replica a pabl0 Cancelar la respuesta