Que es SQL?
El lenguaje de
consulta estructurado o SQL
(por sus siglas en inglés structured
query language) es un lenguaje declarativo de acceso a bases de datos
relacionales que permite especificar diversos tipos de operaciones en ellas.
Una de sus características es el manejo del álgebra y el cálculo relacional.
Para que sirve?
Permiten efectuar consultas con el fin de recuperar de
forma sencilla información de interés de bases de datos, así como hacer cambios
en ella.
mysql_select_db
mysql_select_db — Seleccionar
una base de datos MySQL
Descripción
bool mysql_select_db ( string $database_name
[, resource $link_identifier = NULL ] )
Establece la base de datos
activa actual en el servidor asociado con el identificador de enlace
especificado. Cada llamada posterior a mysql_query() será ejecutada en la base de
datos activa.
Ejemplo
mysql_select_db()
<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_myql');
if (!$enlace) {
die('No se pudo conectar : ' . mysql_error());
}
// Hacer que foo sea la base de datos actual
$bd_seleccionada = mysql_select_db('foo', $enlace);
if (!$bd_seleccionada) {
die ('No se puede usar foo : ' . mysql_error());
}
?>
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_myql');
if (!$enlace) {
die('No se pudo conectar : ' . mysql_error());
}
// Hacer que foo sea la base de datos actual
$bd_seleccionada = mysql_select_db('foo', $enlace);
if (!$bd_seleccionada) {
die ('No se puede usar foo : ' . mysql_error());
}
?>
mysql_query
mysql_query — Enviar una
consulta MySQL
Descripción
resource mysql_query ( string $query
[, resource $link_identifier = NULL ] )
mysql_query()
envía una única consulta (múltiples consultas no están soportadas) a la base de
datos actualmente activa en el servidor asociado con el identificador de enlace
especificado por link_identifier.
Ejemplo Consulta inválida
La siguiente consulta es
sintácticamente inválida, por lo que mysql_query() fallará y retornará FALSE.
<?php
$resultado = mysql_query('SELECT * WHERE 1=1');
if (!$resultado) {
die('Consulta no válida: ' . mysql_error());
}
?>
$resultado = mysql_query('SELECT * WHERE 1=1');
if (!$resultado) {
die('Consulta no válida: ' . mysql_error());
}
?>
Ejemplo Consulta válida
La siguiente consulta es
válida, por lo que mysql_query() retornará un resource.
<?php
// Lo siguiente podría ser proporcionado por un usuario, como por ejemplo
$nombre = 'fred';
$apellido = 'fox';
// Formular la consulta
// Este es el mejor método para formular una consulta SQL
// Para más ejemplos, consulte mysql_real_escape_string()
$consulta = sprintf("SELECT nombre, apellido, direccion, edad FROM amigos
WHERE nombre='%s' AND apellido='%s'",
mysql_real_escape_string($nombre),
mysql_real_escape_string($apellido));
// Ejecutar la consulta
$resultado = mysql_query($consulta);
// Comprobar el resultado
// Lo siguiente muestra la consulta real enviada a MySQL, y el error ocurrido. Útil para depuración.
if (!$resultado) {
$mensaje = 'Consulta no válida: ' . mysql_error() . "\n";
$mensaje .= 'Consulta completa: ' . $consulta;
die($mensaje);
}
// Usar el resultado
// Si se intenta imprimir $resultado no será posible acceder a la información del recurso
// Se debe usar una de las funciones de resultados de mysql
// Consulte también mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($fila = mysql_fetch_assoc($resultado)) {
echo $fila['nombre'];
echo $fila['apellido'];
echo $fila['direccion'];
echo $fila['edad'];
}
// Liberar los recursos asociados con el conjunto de resultados
// Esto se ejecutado automáticamente al finalizar el script.
mysql_free_result($resultado);
?>
// Lo siguiente podría ser proporcionado por un usuario, como por ejemplo
$nombre = 'fred';
$apellido = 'fox';
// Formular la consulta
// Este es el mejor método para formular una consulta SQL
// Para más ejemplos, consulte mysql_real_escape_string()
$consulta = sprintf("SELECT nombre, apellido, direccion, edad FROM amigos
WHERE nombre='%s' AND apellido='%s'",
mysql_real_escape_string($nombre),
mysql_real_escape_string($apellido));
// Ejecutar la consulta
$resultado = mysql_query($consulta);
// Comprobar el resultado
// Lo siguiente muestra la consulta real enviada a MySQL, y el error ocurrido. Útil para depuración.
if (!$resultado) {
$mensaje = 'Consulta no válida: ' . mysql_error() . "\n";
$mensaje .= 'Consulta completa: ' . $consulta;
die($mensaje);
}
// Usar el resultado
// Si se intenta imprimir $resultado no será posible acceder a la información del recurso
// Se debe usar una de las funciones de resultados de mysql
// Consulte también mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($fila = mysql_fetch_assoc($resultado)) {
echo $fila['nombre'];
echo $fila['apellido'];
echo $fila['direccion'];
echo $fila['edad'];
}
// Liberar los recursos asociados con el conjunto de resultados
// Esto se ejecutado automáticamente al finalizar el script.
mysql_free_result($resultado);
?>
mysql_close
mysql_close — Cierra una
conexión de MySQL
Descripción
bool mysql_close ([ resource $link_identifier
= NULL ] )
mysql_close()
cierra la conexión no persistente al servidor de MySQL que está asociada con el
identificador de enlace especificado. Si link_identifier no se especifica, se
usará el último enlace abierto.
Normalmente no es necesario
usar a mysql_close(), ya
que los enlaces abiertos no persistentes son automáticamente cerrados al final
de la ejecución del script. Véase también liberar recursos.
Ejemplo de mysql_close()
<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No se pudo conectar: ' . mysql_error());
}
echo 'Conectado con éxito';
mysql_close($enlace);
?>
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No se pudo conectar: ' . mysql_error());
}
echo 'Conectado con éxito';
mysql_close($enlace);
?>
El resultado del ejemplo sería:
Conectado con éxito
mysql_connect
mysql_connect — Abre una
conexión al servidor MySQL
Descripción
resource mysql_connect ([ string $server
= ini_get("mysql.default_host") [, string $username =
ini_get("mysql.default_user") [, string $password =
ini_get("mysql.default_password") [, bool $new_link = false [, int $client_flags
= 0 ]]]]] )
Abre o reutiliza una conexión a
un servidor MySQL.
Ejemplo de mysql_connect()
<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
?>
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
?>
Ejemplo de mysql_connect() usando la sintaxis nombre_anfitrión:puerto
<?php
// nos conectamos a ejemplo.com y al puerto 3307
$enlace = mysql_connect('ejemplo.com:3307', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
// nos conectamos a ejemplo.com y al puerto 3307
$enlace = mysql_connect('127.0.0.1:3307', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
?>
// nos conectamos a ejemplo.com y al puerto 3307
$enlace = mysql_connect('ejemplo.com:3307', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
// nos conectamos a ejemplo.com y al puerto 3307
$enlace = mysql_connect('127.0.0.1:3307', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
?>
Ejemplo de mysql_connect() usando la sintaxis
":/rota/al/socket"
<?php
// nos conectamos a localhost y a la toma ej. /tmp/mysql.sock
// variante 1: omitir el localhost
$enlace = mysql_connect(':/tmp/mysql', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
// variante 2: con localhost
$enlace = mysql_connect('localhost:/tmp/mysql.sock', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
?>
// nos conectamos a localhost y a la toma ej. /tmp/mysql.sock
// variante 1: omitir el localhost
$enlace = mysql_connect(':/tmp/mysql', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
// variante 2: con localhost
$enlace = mysql_connect('localhost:/tmp/mysql.sock', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
?>
mysql_result
mysql_result — Obtener datos de
resultado
Descripción
string mysql_result ( resource $result
, int $row [, mixed $field = 0 ] )
Recupera el contenido de una
celda de un conjunto de resultados de MySQL.
Cuando se esté trabajando con
conjuntos de resultados grandes, se debería considerar usar una de las
funciones que obtienen una fila completa (especificadas más abajo). Debido a
que estas funciones retornan el contenido de múltiples celdas en una única
llamada a función, son MUCHO MÁS rápidas que mysql_result().
Además, se ha de tener en cuenta que la especificación de un índice numérico
para el campo pasado como argumento es mucho más rápido que especificar un
nombre de campo o el argumento nombre_tabla.nombre_campo.
Ejemplo de mysql_result()
<?php
$enlace = mysql_connect('anfitrión_mysql', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No se pudo conectar: ' . mysql_error());
}
if (!mysql_select_db('nombre_base_datos')) {
die('No se pudo seleccionar la base de datos: ' . mysql_error());
}
$resultado = mysql_query('SELECT name FROM work.employee');
if (!$resultado) {
die('No se pudo consultar:' . mysql_error());
}
echo mysql_result($resultado, 2); // imprime el nombre del tercer empleado
mysql_close($enlace);
?>
$enlace = mysql_connect('anfitrión_mysql', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No se pudo conectar: ' . mysql_error());
}
if (!mysql_select_db('nombre_base_datos')) {
die('No se pudo seleccionar la base de datos: ' . mysql_error());
}
$resultado = mysql_query('SELECT name FROM work.employee');
if (!$resultado) {
die('No se pudo consultar:' . mysql_error());
}
echo mysql_result($resultado, 2); // imprime el nombre del tercer empleado
mysql_close($enlace);
?>
PHP: Funcion die()
Ejemplo
Imprime un mensaje y sale del script actual:
<?php
$site = "http://www.w3schools.com/";
fopen($site,"r")
or die("Unable to connect to $site");
?>
$site = "http://www.w3schools.com/";
fopen($site,"r")
or die("Unable to connect to $site");
?>
Definicion y uso de:
La función die() imprime un
mensaje y sale de la secuencia de comandos actual..
Esta función es un alias de la función de
salida().
Sintaxis
die(mensaje)
|
Parametros
|
Descripcion
|
|
mensaje
|
Obligatorio. Especifica el mensaje o el número de estado a escribir antes de salir del script. El
número de estado no se escribirá en la salida.
|
print
print — Mostrar una cadena
Descripción
int print ( string $arg )
Muestra el parámetro arg.
print no es realmente una función (es un constructor de lenguaje) por lo tanto
no es necesario usar paréntesis para indicar su lista de argumentos.
Parámetros
arg
Los datos de entrada.
Valores devueltos
Siempre devuelve 1.
Ejemplos de print
<?php
print("Hola mundo");
print "print() también funciona sin paréntesis.";
print "Esto separa
múltiples líneas. Los saltos de línea también
se mostrarán";
print "Esto separa\nmúltiples líneas. Los salos de línea también\nse mostrarán.";
print "para escapar caracteres se \"hace así\".";
// También se puede usar variables usando print
$foo = "foobar";
$bar = "barbaz";
print "foo es $foo"; // foo es foobar
// También se pueden usar arrays
$bar = array("value" => "foo");
print "Esto es {$bar['value']} !"; // Esto es foo !
// Al usar comillas simples se mostrará el nombre de la variable, no su valor
print 'foo is $foo'; // foo is $foo
// Si no se necesita mostrar otros caracteres, se puede simplemente mostrar variables
print $foo; // foobar
print <<<END
Este párrafo utiliza la sintaxis "here document" para mostrar
múltiples líneas con la interpolación de $variable. Nótese
que el terminador de here document debe aparecer al final
de la línea con punto y coma y ¡ningún espacio en blanco extra!
END;
?>
print("Hola mundo");
print "print() también funciona sin paréntesis.";
print "Esto separa
múltiples líneas. Los saltos de línea también
se mostrarán";
print "Esto separa\nmúltiples líneas. Los salos de línea también\nse mostrarán.";
print "para escapar caracteres se \"hace así\".";
// También se puede usar variables usando print
$foo = "foobar";
$bar = "barbaz";
print "foo es $foo"; // foo es foobar
// También se pueden usar arrays
$bar = array("value" => "foo");
print "Esto es {$bar['value']} !"; // Esto es foo !
// Al usar comillas simples se mostrará el nombre de la variable, no su valor
print 'foo is $foo'; // foo is $foo
// Si no se necesita mostrar otros caracteres, se puede simplemente mostrar variables
print $foo; // foobar
print <<<END
Este párrafo utiliza la sintaxis "here document" para mostrar
múltiples líneas con la interpolación de $variable. Nótese
que el terminador de here document debe aparecer al final
de la línea con punto y coma y ¡ningún espacio en blanco extra!
END;
?>
No hay comentarios:
Publicar un comentario