PHP – Como conectarse a una base de datos.

Para permitir que una Web tenga interacción con sus visitantes, permitir el registro de usuarios, dejar comentarios, etc.; son necesarias las bases de datos. Una base de datos consta de cinco parámetros básicos de conexión, y son los siguientes:

Hots: es la ubicación de la base de datos.
Usuario: es el usuario de la base de datos.
Clave: es la clave de la base de datos.
Nombre de la base de datos: es el nombre de la base de datos.
Nombre de la tabla: es el nombre de la tabla con que queremos conectar.

Sobre las bases de datos es importante destacar que guardan la información organizada en tablas, y las tablas guardan la información en un sistema referencial formado por filas y columnas.

Una típica base de datos de una Web sencilla puede tener una tabla donde se guardan los datos de acceso de cada usuario, con el nombre de usuario, el email, el sexo, la fecha de registro, etc. Para que estos usuarios puedan dejar sus comentarios tendríamos que crear una nueva tabla en la base de datos, que recogiese por ejemplo, el nombre de usuario y el comentario. Todo esto lo veremos detalladamente más adelante.

A mi me gusta crear una archivo para la conexión a la base de datos y mediante una sentencia “include”, tomar los datos de la conexión, así no tengo que ir agregando estos datos una y otra vez. Así crearemos dos archivos, uno que abre la conexión y otro que la cierra, la sintaxis podría ser la siguiente:

Publicado en PHP - MYSQL | Comentarios desactivados en PHP – Como conectarse a una base de datos.

PHP – Lectura de los datos contenidos en una base de datos.

Una vez que hemos guardado nuestros datos en la base de datos, lo siguiente es poder ver esos datos impresos en una página. Para esto debemos hacer una consulta de lectura de base de datos con una estructura que determine que datos vamos a ver y bajo que condiciones.

Te en cuenta que presentamos este código como continuación del caso de registro de datos en una base de datos, usamos los mismos campos la misma base de datos y la misma tabla.

Aunque nuestra base de datos por simplicidad no incluye un campo sexo, podemos hacer un condicional para que se muestren los datos de solo uno de los sujetos guardados o podemos mostrar los datos que corresponden a un determinado id o email. Esto es precisamente lo que vamos a ver en este artículo.

Para presentar los datos en pantalla hemos creado una sencilla tabla HTML donde vamos a organizar los resultados.

Puede verse como tenemos antes del código PHP que contiene la consulta a la base de datos, el código HTML de cualquier página Web y la parte superior de una tabla donde están marcados los nombres de cada columna con el dato que contendrán.

Seguidamente vemos la consulta, que esta marcada en el código como tal, y después un bucle WHILE que nos escribirá los datos tantas veces como registros (filas) haya en la base de datos para esa consulta. A continuación aparece el “echo” que imprime los datos de la consulta, derramos la conexión y PHP y terminamos de escribir la página.

En este código, lo único que tiene que cambiar para que los datos que recuperemos sean unos y no otros es la línea de consulta propiamente dicha.

Así podemos hacer varios tipos ve consultas, veamos algunas:

Muestra todos los registros en sentido id ascendente.
$query = «select * from $tabla_db1»;

Muestra cinco registros comenzando por el primero que es el cero.
$query = «select * from $tabla_db1 LIMIT 0,5»;

Muestra dos registros a partir del registro numero 3.
$query = «select * from $tabla_db1 LIMIT 3,2»;

Mostramos 20 registros en sentido de id descendente.
$query = «select * from $tabla_db1 ORDER BY id DESC LIMIT 20»;

Muestra dos registros a partir del registro numero 3 pero en sentido de id descendente.
$query = «select * from $tabla_db1 ORDER BY id DESC LIMIT 3,2»;

Muestra los resultados donde el nombre es Pedro.
$query = «select * from $tabla_db1 WHERE nombre = ‘Pedro'»;

Muestra los resultados donde el id vale 3 y el nombre es Pedro.
$query = «select * from $tabla_db1 WHERE id = ‘3’ and nombre = ‘Pedro'»;

Muy importante, ten en cuenta que el primer registro es el cero no el uno, así una consulta LIMIT 0,1 te imprimirá el primer registro, es decir el que tiene como valor del id el 1.

Así el código será el siguiente:

Publicado en PHP - MYSQL | Comentarios desactivados en PHP – Lectura de los datos contenidos en una base de datos.

Permisos especiales: sticky bit, suid y sgid.-

GNU/Linux a mayores de los típicos permisos read – write – exec, tiene otros especiales y no tan comúnmente conocidos que permiten realizar tareas y establecer permisos más avanzados. En este post vamos a verlos e intentar explicarlos un poco.

sticky bit
Establece que sólo el propietarios del directorio lo puede borrar o renombrar, sin importar los permisos que tenga. Es útil si se desea que varios usuarios puedan acceder a la información y modificarla, pero que ninguno, a excepción del usuarios que lo creó, la pueda borrar.
El usuario root sí la puede borrar.
La forma de establecer este permiso es con el flag +t,

shell> chmod +t file
shell> ls -l file
-rwxr–r-T 1 javier javier 487327 Jul 23 16:10 file

suid
Este es un bit muy especial y que permite ejecutar un fichero con el ID del propietario, y por lo tanto con todos los privilegios que éste tenga.
Es un bit muy peligroso, ya que mal empleado puede poner en peligro el sistema al ejecutar un binario con privilegios de root, por ejemplo, desde un usuario sin privilegios.
Para establecer un binario con este bit, +s

shell> chmod u+s file
shell> ls -l file
-rwSr–r-T 1 javier javier 487327 Jul 23 16:10 file

sgid
Es similar al anterior comentado, pero los permisos que se establecen son a nivel de grupo. Y al igual que el anterior, también lo hay que emplear con mucha precaución.
La forma de usarlo, con +s.

shell> chmod g+s file
shell> ls -l file
-rwSr-Sr-T 1 javier javier 487327 Jul 23 16:10 file

Nota: Si por defecto, la forma de establecer permisos es GNU/Linux en octal es con 0754, para por ejemplo (-rwxr-xr–), para establecer en octal los permisos a éstos bits especiales son,

shell> chmod 1000 file # for sticky bit
shell> chmod 2000 file # for suid
shell> chmod 4000 file # for sgid

Publicado en Unix - Linux | Comentarios desactivados en Permisos especiales: sticky bit, suid y sgid.-

BASH – Script pone atributo de ejecutable a archivos pasados como argumento.-

Publicado en Unix - Linux | Comentarios desactivados en BASH – Script pone atributo de ejecutable a archivos pasados como argumento.-

Bash – Script que solicita confirmación para soobreescribir archivo si existe.-

Publicado en Unix - Linux | Comentarios desactivados en Bash – Script que solicita confirmación para soobreescribir archivo si existe.-