Resolution:

PHP + MySQL-databas

Här förklarar vi mer om hur du kommer igång och använder programspråket PHP tillsamans med en MySQL-databas.

MySQL är en av världens mest populära databaser för lagring av information och används i allt från stora e-handelswebbplatser till RFID-kortsystem. Med PHP kan du från en webbserver använda databaser för att presentera information på en webbsida.

 

 

Steg 1 Förberedelser

Börja gärna med att göra ett Hello World-test för att se att PHP är installerat och fungerar i din webbserver.

 

Du behöver:

  • En hostingtjänst (tex vår webbhotelltjänst eller någon av våra Serverhostingtjänster).
  • Har du webbhotell hos oss är redan PHP och MySQL-server installerade och du har fått användarinformation för detta från oss.
  • Har du en serverhostingtjänst hos oss behöver du beställa mjukvarupaket för webbserver & databasserver eller installera detta själv nu.
  • En webbläsare som du kan använda för testning och besök på din testsida.

 

Har du beställt våra mjukvarupaket kommer du snabbt igång:

  - Du finner uppgifterna i den dokumentation du redan fått från oss: Användarnamn, lösenord, servernamn, databasnamn och tabellnamn.

 

Om du inte har beställt våra färdiga mjukvarupaket, tänk på:

 - MYSQL-databasservern behöver förkonfigureras, databaser och användare behöver skapas.

 - Webbserver, programspråk och databasmotor behöver kopplas ihop och konfigureras.

 

 

Steg 2. Skapa testsida

I hemkatalogen för din webbsida (WWW-rotkatalogen, ofta tex: /usr/var/www eller /var/local/www) ska du nu skapa en testsida. Loggar du in via FTP är det i regel i din htdocs-katalog som du ska skapa sidan.

Gör gärna en Hello World-testsida i PHP och se att du hittar sidan i din webbläsare och att den fungerar så du är 100% säker "var" du är.

 

Får du några syntax-fel eller varningar så rätta dessa först innan du går vidare. Tips: I webbserverns loggfiler finner du i regel användbar information, ta en titt där. När det är programspråk som PHP som används är det inte ovanligt att det står exakt vad som är fel och på vilken rad i ditt script!

 

Steg 3. Anslut till Databasen

I din testsida ska vi nu lägga till information för att:

  • Ansluta till databasservern.
  • Logga in på databasservern
  • Välja en databas.
  • Hämta information från en tabell och presentera detta för besökaren.

 

 

Skriv in följande överst i din PHP-sida för att skapa din testsida:

 

<body>
 <head>
  <title></title>
 </head>
 <body>
  <!-- Här ska PHP-innehållet placeras -->

 </body>
</html>

 

Lägg nu in PHP-innehållet mellan body-taggarna i testsidan:

 

<?php
    /* Connecting, selecting database */
    $link = mysql_connect("SERVERNAMN", "ANVÄNDARNAMN", "LÖSENORD")
        or die("Could not connect : " . mysql_error());
    print "Connected successfully<br>";
    mysql_select_db("DATABASNAMN") or die("Could not select database : " . mysql_er
ror());

    /* Performing SQL query */
    $query = "SELECT * FROM TABELLNAMN";
    $result = mysql_query($query) or die("Query failed : " . mysql_error());

    /* Printing results in HTML */
    print "<table>\n";
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
        print "\t<tr>\n";
        foreach ($line as $col_value) {
            print "\t\t<td>$col_value</td>\n";
        }
        print "\t</tr>\n";
    }
    print "</table>\n";

    /* Free resultset */
    mysql_free_result($result);

    /* Closing connection */
    mysql_close($link);
?>

 

Kontrollera nu:

  • PHP-koden ovanför ska nu alltså stå mellan <body> och  </body> i din php-sida.
  • Sidan ligger i hemkatalogen för din webbsida och är nåbar från din webbläsare.

 

Nu ska du gå tillbaks till texten och byta ut orden ANVÄNDARNAMN och LÖSENORD till de användarnamn och lösenord som ska användas i MySQL-databasservern (se din dokumentation från oss om du beställt mjukvarupaket från oss, alternativt om du installerade databasen själv: dina anteckningar från när du installerade databasen själv, alternativt: om inget användarnamn skapats av dig ännu så gör du nu detta och återkommer därefter till den här texten).

Användarnamn och lösenord måste anges exakt som det står i dokumentationen du fått från oss.

SERVERNAMN är ofta localhost eller 127.0.0.1 men kontrollera vad det står i din dokumentation och ange det servernamn som är aktuellt för dig.

 

Nu ska vi byta ut ordet DATABASNAMN i texten i din PHP-sida till namnet på den databas som du vill använda. Har du redan fått en eller flera databaser skapade av oss i samband med att vi installerade mjukvarupaket Databasserver så hittar du detta i dokumentationen från oss. I annat fall väljer du den databas du själv skapat eller skapar en nu i MySQL-servern.

 

Nu ska vi slutligen byta ut även namnet TABELLNAMN i din PHP-sida till namnet på den tabell i databasen som du vill använda. Saknar du tabeller i den aktuella databasen kan du nu skapa dem i MySQL-servern.

 

Ta nu obedelbart bort sidan från den katalog som är publik för webbservern, skrivskydda och/eller lösenordsskydda nu din testsida eftersom obehöriga just nu kan nå din sida och ansluta direkt mot din databas.

 

Tips vid felsökning

  • Kontrollera eventuella felmeddelanden du får i din webbläsare.
  • Kontrollera eventuella felloggar i din webbserver.
  • Kör sidan manuellt via terminalen med kommandot php och se om du får några felmeddelanden.
  • Kontrollera användarnamn, lösenord, databasnamnet samt tabellnamnet.
  • Kontrollera så att ingen rad bryts genom att gå till slutet på varje rad i koden (i VI/VIM gör du detta med kommandot $).
  • Kontrollera att MySQL-servern är igång och är tillåten att ta emot inloggningar från den aktuella användaren från den aktuella platsen.
  • Kontrollera att brandväggsreglerna tillåter databasservern att lyssna på den aktuella porten.
  • Kontrollera att TCP-Wrappers, eventuella tunnlar via SSH eller VPN eller liknande fungerar som de ska.
  • Om Xinit.d eller liknande används (portmapper), kontrollera att dessa har rätt konfiguration.
  • Har du nyligen installerat moduler till kärnan på operativsystemet som har med nätverkskommunikation att göra: starta om servern vid tillfälle, verifiera att dina installerade program/modulder fungerar korrekt och felsök därefter vidare.
  • Prova med telnet att felsöka och se att anslutningar till/från servrar fungerar och att rätt portar lyssnar.
  • Kontrollera lokala brandväggsregler i IP-Tables eller motsvarande och se att dessa är korrekt inställda.
  • Kontakta vår support och be om hjälp för felsökning i er applikation.

 

 

Tips för att komma vidare med användning av databas och PHP

  • Säkerheten är viktig att tänka på. Tillåt aldrig vem som helst att ansluta till din databasserver på något sätt.
  • Använd form-taggen, input type text och input type submit för att skapa formulär som "jobbar" mot databasen.
  • Bygger du egna sidor för att ansluta mot databasen, lägg gärna utvecklingssidorna i en separat, lösenordsskyddad vHost för att hålla isär utveckling och produktion.
Till sidans topp