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 un determinado sitio web está en marcha y funcionamiento.

Crear la base de datos

El servicio web, entonces simplemente devuelve "Up" o "Down" 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 propia base de datos, con el comando:

mysqladmin -u lt;yourUser> -p Crear sitios

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

La tabla de base de datos se llamará siteStatus y el CREAR declaración para ello es la siguiente:

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

Usted puede entrar en ese SQL en 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

USO sitios-

Una vez que la base de datos se ha creado, 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.

Este es el código para la creación de este servicio web.

? lt; php $ cabecera = "Content-Type: application / json" -header ($ header) - $ dblink = mysqli_connect ('localhost', 'USUARIO', 'password', 'sitios') - if ($ dblink! ) {$ fila = array ("siteStatus" => "Error de base de datos") - json_encode print ($ fila) -} else {$ query = "SELECT siteStatus DESDE DONDE siteStatus siteURL = 'http://braingia.org'" - if ($ resultado = mysqli_query ($ dblink, $ consulta)) {$ row = $ result-> fetch_array (MYSQLI_ASSOC) -si (is_null ($ fila)) {$ fila = array ("siteStatus" => "Error - Sitio Not Found ") -}} else {$ fila = array (" siteStatus "=>" Error General ") -} json_encode print ($ fila) -mysqli_close ($ dblink) -} // else condición final (para la conexión de base de datos) ?>

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

Este es un punto importante con los servicios web: Deja de salida trasera al consumidor de servicios Web que indica que hubo un error, en lugar de simplemente salir.

Siempre debe incluir comentarios en la salida del servicio web para las condiciones de error de manera que la persona que llama al servicio web puede manejar el error.

imagen0.jpg


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