Comment retourner les données de services Web à partir de la base de données

Une utilisation fréquente des services Web est de récupérer des informations à partir d'une base de données. Ici, vous regardez renvoyer des données à partir d'une base de données simples. Vous allez utiliser une base de données qui marque si oui ou non un certain site Web est en place et opérationnelle.

Sommaire

Créer la base de données

Le service Web retourne alors simplement "Up" ou "Down" basé sur le contenu de la table de base de données. Vous utilisez une base de données appelée les sites pour cet exemple. Par conséquent, la première étape consiste à créer la base de données elle-même, avec la commande:

mysqladmin -u lt;yourUser> -p Créer des sites

La dans cette commande serait l'utilisateur que vous avez qui peut créer des bases de données. Si vous utilisez un fournisseur d'hébergement partagé, vous pourriez ne pas être en mesure de créer des bases de données. Si tel est le cas, alors vous pouvez utiliser ce que la base de données du fournisseur d'hébergement a créé pour vous. Si vous utilisez un serveur MySQL sur votre ordinateur local, puis l'utilisateur est probablement appelé racine.

La table de base de données sera appelé siteStatus et le CREATE déclaration de ce dispositif est le suivant:




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

Vous pouvez entrer que SQL dans l'interface ligne de commande MySQL (CLI) pour créer la table. Soyez sûr de se connecter à ou utiliser le sites base de données lors de la création de la table, avec la commande:

CONNECT sites-

ou

UTILISATION sites-

Une fois la base de données a été créée, une seule ligne peut être ajouté pour cette démonstration:

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

Créer le service Web

Le service web est créé par la mise en place de la connexion MySQL, interrogation de la base, puis de renvoyer les données. Bien sûr, il ya aussi la gestion des erreurs, dans le cas où quelque chose se passe mal avec la requête.

Voici le code pour la création de ce service web.

? lt; php $ header = "Content-Type: application / json" -header ($ header) - $ dbLink = mysqli_connect ('localhost', 'user', 'mot de passe' «sites») - if ($ dbLink! ) {$ row = array ("siteStatus" => "Erreur de base") - impression json_encode ($ row) -} else {$ query = "SELECT siteStatus DE siteStatus OÙ siteURL = 'http://braingia.org'" - if ($ result = mysqli_query ($ dbLink, $ query)) {$ row = $ result-> fetch_array (MYSQLI_ASSOC) -Si (is_null ($ row)) {$ row = array ("siteStatus" => "Erreur - Site Not Found ") -}} else {$ row = array (" siteStatus "=>" Erreur générale ") -} print json_encode ($ row) -mysqli_close ($ dbLink) -} // Fin état d'autre (pour la connexion de base de données) ?>

Le code contient une bonne quantité de la gestion des erreurs, y compris la manipulation si la connexion de base de données ne peut pas être établie, si il ya un problème avec la requête, ou si le site n'a pas été trouvé d'erreur. Dans tous ces cas, le résultat final est que la sortie est envoyé à l'utilisateur grâce à la json_encode ($ row).

Ceci est un point important avec les services Web: Envoyer sortie vers le consommateur de service Web indiquant qu'il y avait une erreur, plutôt que de simplement sortir.

Vous devez toujours inclure des évaluations à la sortie du service Web pour les conditions d'erreur de sorte que la personne qui appelle le service Web peut gérer l'erreur.

image0.jpg

» » » » Comment retourner les données de services Web à partir de la base de données