Hvordan Return Web Service data fra en database

March 9  by Eliza

En hyppig bruk av web-tjenester er å hente informasjon fra en database. Her, du ser på retur enkle data fra en database. Du vil bruke en database som markerer hvorvidt et bestemt nettsted er oppe og i drift.

Opprette databasen

Webtjenesten så bare returnerer "Opp" eller "Ned", basert på innholdet i databasen tabellen. Du bruker en database kalt nettsteder for dette eksemplet. Derfor, er det første skrittet for å lage selve databasen, med følgende kommando:

mysqladmin -u <yourUser> -p opprette områder

Den <yourUser> i den kommandoen ville være brukeren som du har som kan lage databaser. Hvis du bruker en delt hosting leverandør, kan du ikke være i stand til å lage databaser. Hvis det er tilfelle, så kan du bruke hva database hosting leverandør har skapt for deg. Hvis du bruker en MySQL server på den lokale datamaskinen, så brukeren blir trolig kalt rot.

Databasen tabellen vil bli kalt siteStatus og CREATE-setningen for den er som følger:

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

Du kan legge inn at SQL inn i MySQL Command Line Interface (CLI) for å opprette tabellen. Sørg for å koble til eller bruke nettstedene database når du oppretter tabellen, med følgende kommando:

CONNECT områder;

eller

BRUK sider;

Når databasen er opprettet, kan en enkelt rad legges for denne demonstrasjonen:

INSERT INTO siteStatus (SITEURL siteStatus) VALUES ('http: //www.braingia.org','Up');

Lag webtjenesten

Webtjenesten er skapt ved å sette opp MySQL-tilkobling, spørring mot databasen, og deretter returnere dataene. Selvfølgelig, det er også feilhåndtering, i tilfelle noe går galt med spørringen.

Her er koden for å lage denne web-tjenesten.

<? Php
$ Header = "Content-Type: application / json";
header ($ header);

$ Dblink = mysqli_connect ('localhost', 'bruker', 'passord', 'sites');

if (! $ dblink) {
$ Rad = array ("siteStatus" => "Database Error");
print json_encode ($ rad);
} Else {
$ Query = "SELECT siteStatus FRA siteStatus WHERE SITEURL = 'http://www.braingia.org'";

if ($ resultat = mysqli_query ($ dblink, $ query)) {
$ Rad = $ resultat-> fetch_array (MYSQLI_ASSOC);
if (is_null (rad $)) {
$ Rad = array ("siteStatus" => "Feil - Nettsted Not Found");
}
} Else {
$ Rad = array ("siteStatus" => "General Error");
}

print json_encode ($ rad);
mysqli_close ($ dblink);
} // End annet tilstand (for databasetilkobling)

?>

Koden inneholder en god mengde feilhåndtering, herunder feilbehandling hvis databasen tilkobling ikke kan opprettes, hvis det er et problem med spørringen, eller hvis området ikke ble funnet. I alle disse tilfellene, er sluttresultatet at produksjonen blir sendt til brukeren takket være json_encode (rad $).

Dette er et viktig poeng med web-tjenester: Send produksjonen tilbake til webtjenesten forbrukeren som indikerer at det var en feil, snarere enn bare spennende.

Du bør alltid inkludere tilbakemeldinger i produksjonen av web-tjeneste for feil slik at personen ringer webtjenesten kan håndtere feilen.

Hvordan Return Web Service data fra en database