Cómo devolver datos de servicio web desde una base de datos

Un uso frecuente de los servicios web es para recuperar información de una base de datos. Aquí, nos fijamos en la devolución de datos simples a partir de una base de datos. Que va a utilizar una base de datos que marca si es o no un determinado sitio web está en marcha y funcionamiento.

Crear la base de datos

El servicio web a continuación, simplemente devuelve “arriba” o “abajo”, basado en el contenido de la tabla de base de datos. Se utiliza una base de datos llamada sitios para este ejemplo. Por lo tanto, el primer paso es crear la base de datos en sí, con el comando:

mysqladmin -u lt;yourUsergt; -p crear sitios

los en ese comando sería el usuario que tiene que se pueden crear bases de datos. Si está utilizando un proveedor de alojamiento compartido, es posible que no sea capaz de crear bases de datos. Si ese es el caso, entonces se puede utilizar cualquier base de datos del proveedor de alojamiento ha creado para usted. Si está utilizando un servidor MySQL en el equipo local, entonces el usuario probablemente se llame raíz.

La tabla de base de datos se llama siteStatus y el CREAR declaración de que es el siguiente:

CREATE TABLE siteStatus (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, siteURL VARCHAR (255), siteStatus VARCHAR (10)) -

Se puede introducir en el que SQL MySQL Command Line Interface (CLI) para crear la tabla. Asegúrese de conectar o utilizar el sitios de base de datos al crear la tabla, con el comando:

CONECTAR sitios-

o

sitios-USO

Una vez creada la base de datos, una sola fila puede ser añadido para esta demostración:

INSERT INTO siteStatus (siteURL, siteStatus) VALUES ( `http: //braingia.org`,`Up`) -

Crear el servicio web

El servicio web se crea mediante el establecimiento de la conexión de MySQL, la consulta de la base de datos y devolver los datos. Por supuesto, también hay control de errores, en caso de que algo va mal con la consulta.

Aquí está el código para la creación de este servicio web.

lt;? php $ encabezado = "Content-Type: application / json"-header (encabezado $) - $ dblink = mysqli_connect ( `localhost`, `usuario`, `contraseña`, `Sitios`) - if (! $ dblink) {$ fila = array ("siteStatus" = Gt; "Error de la base de datos") Json_encode -print ($ fila) -} else {$ consulta = "SELECT siteStatus DE DONDE siteStatus siteURL = `http://braingia.org`"-Si ($ resultado = mysqli_query ($ dblink, $ consulta)) {$ fila = $ resultado-gt; fetch_array (MYSQLI_ASSOC) -Si (is_null ($ fila)) {$ fila = array ("siteStatus" = Gt; "Error - Sitio no encontrado") -}} else {$ fila = array ("siteStatus" = Gt; "Error general") -} print json_encode ($ fila) -mysqli_close ($ dblink) -} // Fin condición else (para la conexión de base de datos) gt;

El código contiene una buena cantidad de control de errores, incluyendo gastos de envío si no se puede establecer la conexión de base de datos, si hay un problema con la consulta, o si no se ha encontrado el sitio de error. En todos estos casos, el resultado final es que la producción se envía a los usuarios gracias a la json_encode ($ fila).

Este es un punto importante con los servicios web: Enviar la salida de nuevo a un consumidor de servicios Web que indica que hubo un error, en lugar de simplemente salir.

Siempre debe incluir retroalimentación de la salida del servicio web de condiciones de error de manera que la persona que llama al servicio web puede manejar el error.

Artículos Relacionados