Sådan forbinder du et websted til en MySQL-database.
Det er alt sammen meget godt at bruge MySQL Workbench til alle vores eksempler, men du spekulerer måske på, hvordan man opretter en hjemmeside med MySQL? MySQL bruges trods alt af flere websteder end noget andet databasestyringssystem.
At forespørge en MySQL-database fra din hjemmeside er ikke meget anderledes end at forespørge på den fra MySQL Workbench - du bruger de samme SQL-sætninger til begge. Men selvfølgelig er jeg sikker på, at du ikke har en lille gremlin siddende inde på din hjemmeside, der bare venter på en SQL-forespørgsel at skrive hver gang nogen besøger din hjemmeside? Når alt kommer til alt, skal du finde en gremline med et godt kendskab til SQL - ikke let at finde i disse dage!
En bedre løsning ville være at gøre, hvad de fleste andre websteder gør - brug et programmeringssprog på serversiden til at interface mellem webstedet og MySQL-serveren.
Server-side-scriptet ville først oprette forbindelse til MySQL, så kan den køre enhver forespørgsel, den har brug for.
MySQL Workbench PHP Generator
MySQL Workbench inkluderer en PHP-generator. Nå, det er ikke en komplet PHP-generator, men den vil generere nok PHP-kode til, at du kan indsætte på dit websted, så det kan oprette forbindelse til MySQL og køre dine forespørgsler.
Du kan få adgang til det fra Værktøjer | Hjælpeprogrammer menu:
Kopiér som PHP-kode (Opret forbindelse til server)
Denne mulighed genererer PHP-kode, der forbinder ved hjælp af parametrene for den forbindelse, du bruger i øjeblikket. Du kan altid erstatte parametrene med en anden forbindelse, hvis det er nødvendigt.
Hvis du klikker på denne mulighed, kopieres koden til din udklipsholder.
Her er et eksempel på den kode, som denne mulighed producerer:
$host="localhost"; $port=3306; $socket=""; $user="root"; $password=""; $dbname="fruitshop"; $con = new mysqli($host, $user, $password, $dbname, $port, $socket) or die ('Could not connect to the database server' . mysqli_connect_error()); //$con->close();
Indsæt blot denne kode i PHP-dokumentet, der skal oprette forbindelse til MySQL, og opdater eventuelle felter efter behov.
Denne kode bruger MySQLi driver, hvilken driver bruges af PHP til at give en grænseflade med MySQL-databaser.
Koden giver også en fejlmeddelelse, hvis forbindelsen mislykkes.
Kopiér som PHP-kode (gentag SELECT
). Resultater)
Denne mulighed giver dig mulighed for at generere PHP-kode, der indlejrer SQL-sætningen i et PHP-script. Den genererer også PHP-koden for at gentage resultatsættet (så resultaterne kan vises til webstedsbrugeren).
Igen, ved at klikke på denne mulighed kopieres koden til dit udklipsholder.
Her er et eksempel på brug af denne mulighed.
-
Kør forespørgslen
Kør den forespørgsel, du vil bruge, fra webstedet.
-
Kopiér PHP-koden
Vælg Værktøjer | Hjælpeprogrammer | Kopiér som PHP-kode (gentag
SELECT
Resultater) -
Indsæt koden
Koden vil blive indsat på din udklipsholder. Åbn dit PHP-dokument og indsæt koden. Her er, hvordan ovenstående forespørgsel viste sig, når den blev konverteret til PHP
$query = "SELECT FruitId, FruitName FROM Fruit"; if ($stmt = $con->prepare($query)) { $stmt->execute(); $stmt->bind_result($FruitId, $FruitName); while ($stmt->fetch()) { //printf("%s, %s\n", $FruitId, $FruitName); } $stmt->close(); }
Så du bliver nødt til at kombinere denne kode med den første kode. Den første kode åbner forbindelsen, den anden kode kører forespørgslen. Det er uden for rammerne af denne MySQL-tutorial at gå ind i detaljerne omkring oprettelse af PHP-websteder. Men hvis du er interesseret, har jeg skrevet en PHP-tutorial, der dækker det grundlæggende i PHP (inklusive databasedrevne websteder).
ColdFusion-databaseforbindelser
ColdFusion er et andet programmeringsmiljø på serversiden, der giver dig mulighed for at oprette forbindelse til en MySQL-server. ColdFusion gør det ekstremt nemt at forespørge i en database og udlæse resultaterne.
ColdFusion-forespørgsel og output
Her er et eksempel på brug af CFML til at forespørge en database og derefter gå gennem og udlæse resultaterne af den forespørgsel:
<cfquery datasource="dsnFruitShop" name="getFruit"> SELECT FruitName, DateUpdated FROM FruitShop; </cfquery> <cfloop query="getFruit"> #FruitName# </cfloop>
ColdFusion-datakildeforbindelse
Ovenstående kode forudsætter, at en datakildeforbindelse kaldet dsnFruitShop er tidligere sat op. Dette giver forbindelsen til databasen.
ColdFusion giver dig mulighed for at oprette forbindelse til en database via dens administrationsgrænseflade (ColdFusion Administrator). Her opretter du en "datakilde"-forbindelse, som du kan henvise til i din kode (som vi gjorde i ovenstående eksempel). Når du har konfigureret datakilden, kan den bruges på enhver ColdFusion-side på den pågældende ColdFusion-server.
Her er trinene til at konfigurere en datakilde i ColdFusion:
-
Åbn ColdFusion Administrator
Log ind på ColdFusion-administratoren (normalt placeret på /cfide/administrator/ ) ved at bruge dit brugernavn og adgangskode.
-
Åbn indstillingen Datakilder
Klik på Datakilder i menuen til venstre (under DATA &SERVICES ).
-
Tilføj en ny konfiguration
Under Tilføj ny datakilde , indtast det navn, du vil kalde din datakilde, og driveren.
I dette tilfælde vælger jeg MySQL 5 .
Klik på Tilføj .
Se nedenfor, hvis du modtager en fejl.
-
Konfigurer og opret datakilden
Indtast detaljerne for din MySQL-server og navnet på den database, du ønsker, at denne forbindelse skal bruges til.
Dette er navnet på databasen på MySQL-serveren. I vores tilfælde er denne FruitShop .
Klik på Send .
Datakildefejl?
Da du forsøgte at tilføje din datakilde, har du muligvis modtaget følgende fejl:
Den selvstændige MySQL JDBC-driver leveres ikke længere med ColdFusion. Download den, læg den i mappen cf_root/lib og genstart ColdFusion.
Dette skyldes, at driveren ikke var inkluderet i ColdFusion, da den blev sendt.
Hvis du modtager denne fejl, skal du gøre følgende:
- Download driveren fra MySQL-webstedet
- Udpak filen (dvs. .zip-fil eller .tar.gz)
- Flyt .jar-filen til din cf_root/lib-mappe. Her, cf_root er din ColdFusion-rodmappe. Så for eksempel, på min Mac, droppede jeg filen i /Applications/ColdFusion11/cfusion/lib/
- Genstart ColdFusion
Nu skulle du være i stand til at tilføje driveren via ColdFusion-administratoren som vist i de foregående trin.
De trin, der er anført på denne side, forudsætter, at du i det mindste ved, hvordan du laver en grundlæggende hjemmeside ved hjælp af det involverede scriptsprog. Hvis du gerne vil lære mere om ColdFusion, kan du se min ColdFusion-tutorial, som forklarer, hvordan du bruger ColdFusion (startende med det grundlæggende) og dækker databaseforbindelser og meget mere.