Header Ads Widget

Ticker

6/recent/ticker-posts

Tutorial PHP MySQL CRUD

 

En la última lección aprendimos más sobre cómo trabajar con resultados de consultas seleccionadas en MySQL . En otras palabras, cuando usamos PHP para construir una consulta y enviarla a MySQL, MySQL luego devolvió un recurso que podría ser manipulado por cualquiera de las cuatro técnicas que discutimos para obtener acceso a los datos contenidos en el recurso. Así que de todos los comandos de MySQL tales como SELECTINSERTUPDATE, y DELETESELECTes el único que devolver un recursosobre el éxito que requiere un procesamiento adicional. Los otros comandos simplemente devuelven verdadero o falso en una consulta exitosa o una consulta fallida, respectivamente. En este episodio, continuaremos trabajando con la base de datos y construiremos sobre los conceptos de lecciones anteriores. Ahora comenzaremos a completar inserciones, actualizaciones y eliminaciones también. ¡Hagámoslo!


¿Qué devuelve una consulta?

En primer lugar, echemos un vistazo a los diferentes escenarios de lo que podemos esperar al ejecutar la consulta en MySQL. Una consulta tendrá éxito o fallará, y la tabla aquí muestra cada uno de los 8 escenarios posibles que puede tener.

 Consulta exitosaError de consulta
SELECCIONErecursofalso
INSERTARciertofalso
ACTUALIZARciertofalso
ELIMINARciertofalso

Lo que esto nos dice es que SELECTva a seguir estrictamente el proceso de 5 pasos que es:

  • 1. Cree la conexión a la base de datos.
  • 2. Realice una consulta.
  • 3. Hacer uso de los datos recuperados.
  • 4. Liberar memoria.
  • 5. Cierre la conexión.

Todos los demás casos para INSERTUPDATEDELETE, solo requerirán 3 pasos. Esos serían 1 , 2 y 5 así:

  • 1. Cree la conexión a la base de datos.
  • 2. Realice una consulta.
  • 5. Cierre la conexión.

¿Cómo se inserta MySQL con PHP?

Con este conocimiento, creemos una declaración de inserción en una tabla de base de datos. Usaremos una tabla de enlaces, aquí está el sql para crearlo:

¡Resbaloso! Este es un buen ejemplo de cómo puede abrir una conexión de base de datos en la parte superior de la página, ejecutar varias consultas según sea necesario en el cuerpo de la página y luego cerrar la conexión de base de datos al final. En este ejemplo, ejecuté esta página dos veces. Una vez con los valores de las variables de$url = 'http://yahoo.com';y$name = 'Yahoo';mientras la segunda consulta contenía$url = 'https://vegibit.com';y$name = 'VegiBit';Una vez que se abrió la conexión, primero hicimos una consulta usando la instrucción INSERT para poner un marcador en nuestra tabla de enlaces. Más abajo en la página, pero antes de que se cerrara la conexión a la base de datos, ejecutamos otra consulta usando la instrucción SELECT para leer inmediatamente los datos que acabamos de insertar. Una vez que hicimos todo esto, simplemente cerramos la conexión a la base de datos.

mysqli_insert_id

Normalmente, al realizar inserciones en una base de datos MySQL, tendrá un campo de ID que se incrementa automáticamente en cada nueva inserción. Nunca especificas el valor de este campo, MySQL lo hace todo automáticamente por ti. Sin embargo, el problema es que este campo también suele ser el identificador único para una fila o registro de datos específicos en la tabla. ¿Con qué frecuencia escuchas algo como, buscar por ID? Si está ingresando nuevos registros en la base de datos y no está especificando cuál es su identificación, entonces ¿cómo demonios encontrará esta información? Encontrarás esto con elmysqli_insert_id()función, y es una función crítica a tener en cuenta. Tal vez necesite hacer otro inserto en otra tabla justo después del primer inserto, y necesita usar la ID anterior para este propósito. Esto sucede todo el tiempo en las bases de datos relacionales. La firma de la función es así:

$idmysqli_insert_id$connection);

Esta función devuelve la identificación del registro insertado más recientemente en la conexión dada.


¿Cómo se actualiza MySQL con PHP?

Ahora que completamos algunas inserciones usando PHP y MySQL, deberíamos ver cómo actualizar los registros en la base de datos. Hay algunas cosas que debe tener en cuenta al realizar actualizaciones. Por lo general, querrá completar las actualizaciones mediante la identificación única del registro. Al hacer una inserción, no debemos preocuparnos por eso, ya que MySQL genera una ID automáticamente con una función de incremento automático. En este ejemplo, solo buscaremos en la base de datos y elegiremos la ID que nos gustaría actualizar. En el mundo real, esta identificación se habrá generado en una página diferente. La otra página habrá utilizado un SELECT para extraer el registro de la base de datos, luego se mostrará en esa página junto con el ID de ese registro. Ahora esa identificación puede o no ser visible para el usuario en la página. Lo más probable es que sea transparente para el usuario, ni siquiera lo verían.$_GETcuando haces clic en ese enlace. También puede haber un formulario que tenga un campo oculto previamente rellenado con la ID y se pase a través de $_POSTSin embargo, la idea principal es que, de una forma u otra, tendrás que proporcionar esa identificación para poder actualizarla. Vamos a hacerlo.

¡Nota! La consulta funcionó perfectamente y podemos ver que Google ahora es The Google y 1 fila se vio afectada.

$countmysqli_affected_rows$connection);

Esa mysqli_affected_rowsfunción será útil y se usa a menudo con declaraciones de actualización y eliminación en MySQL. La razón es que puede ejecutar una consulta de actualización con éxito, pero ninguna fila se vio afectada en la base de datos. Lo que esto significa es que, sí, envió una consulta, pero no hubo nada que cambiar para ese ID en particular, por lo que no afectó la fila. Para probar esto, podemos ejecutar la consulta anterior varias veces y es solo la primera vez que 1 fila se ve afectada. Todas las consultas posteriores que utilizan la misma cadena de consulta son correctas, pero ninguna fila se ve afectada. Es importante tener esto en cuenta.


¿Cómo se elimina MySQL con PHP?

Ahora sabemos cómo crearinsert into table (column1, column2, column3…) values (value1, value2, value3…) registros " en MySQL con PHP, leerselect from table where expression registros " de MySQL con PHP, actualizarupdate table set column1=value1, column2=value2 where expression registros " en MySQL con PHP, y ahora aprenderemos cómo eliminardelete from table where expression registros " en MySQL usando PHP. Crear Leer Actualizar Eliminar . Estos son los cuatro componentes de CRUD y, con ellos, ahora eres libre de gobernar el mundo. Completemos nuestro entrenamiento con la eliminación.

¡Increíble! Tenga en cuenta que la consulta funcionó perfectamente y que la entrada asociada con el ID 11 desapareció, el enlace de marcador de Google.

Conclusión

Hemos completado el círculo cubriendo los conceptos básicos de la manipulación de PHP y MySQL. Podemos ver que es un proceso bastante sencillo implementar CRUD con PHP nativo y MySQL. Ahora, usar cualquiera de los increíbles frameworks PHP para manejar estas tareas por usted es ciertamente una opción. Sin embargo, en los casos en los que tenga un cliente que tenga un alojamiento que no sea compatible con las últimas y mejores tecnologías, deberá saber cómo hacer estas cosas a mano en PHP. Para esos escenarios, esta serie de tutoriales de PHP es la respuesta a sus problemas.



Publicar un comentario

0 Comentarios