Göm menyn

Databaser - design och programmering

FAQ/att komma igång

Denna sida kan komma att uppdateras.

Hemsida på IDA

För att få igång en hemsida på IDA, skriv

>>> cd >>> mkdir www-pub >>> chmod o+rx www-pub

Det första tar dig till din hemkatalog. Det andra skapar www-pub-katalogen, det tredje ger alla övriga användare rätt att läsa (r) och exekvera saker (x) i denna katalog.

Pröva att gå in på http://www-und.ida.liu.se/~liuid123 för att se din hemsida

Min PHP används inte!

Ett vanligt problem är att man har skrivit PHP, som sedan inte används (man skriver print och inget dyker upp på sidan exempelvis). PHP körs på serversidan. Se till att följande villkor är uppfyllda:

  • din fil har filändelsen .php
  • din fil ligger i www-pub (som webbservern presenterar)
  • du öppnar sidan via webbservern. URL:en till sidan du visar ska börja på http://www-und...

    Om det står något i stil med file:// har du öppnat det som lokal fil, utan att köra det via webbservern.

Skapa SQL-kod som genererar mina databastabeller

Jag vill spara mina tabeller hemma, och phpMyAdmins export tillåter det inte.

Gör följande i kommandoprompten för att dumpa alla tabeller till SQL-fil. Ersätt mitt LiU-id med ditt

mysqldump -u andma54 -h db-und.ida.liu.se -p andma54 > databasdump131217.sql

För att bara dumpa vissa tabeller, pröva något i stil med

mysqldump -u andma54 -h db-und.ida.liu.se -p andma54 jbsale jbitem > databasdump131217.sql

Se även: Referens för mysqldump 5.5. Stack Overflow el dyl är troligen mer pedagogiskt, men uppräkningen av flaggor är bra.

phpMyAdmin?

Du fick en länk till phpmyadmin från TUS när din databas skapades. Om du har tappat bort den, de här: phpMyAdmin vid IDA.

OBS! Om man nu använder verktyg som phpmyadmin, se till att spara undan relevanta SQL-kommandon som genereras, så att man lätt kan återskapa databasen. Det rekommenderas inte att bygga in sig i den strukturen.

Hur gör jag FK-constraints i phpMyAdmin?

Gå in i tabellen du vill ändra > Structure > Relation view (länk under kolonnraden, bredvid print).

Detaljer

TEXT vs VARCHAR

För våra ändamål (korta texter att lagra, snabb uppslagning) är VARCHAR troligen mer lämpligt. Kortfattat: lagringen ser olika ut. Längre version: här.

PHP: jag skriver print($row), men det blir fel

När man går igenom en databas, gäller det att tänka på vilken typ av data man får ut. Ett mysqli-objekt är ett mysqli-objekt (och ska inte skrivas ut; vad det är behöver inte ha något visuellt vettigt innehåll).

Ett resultatobjekt (från $db->query(...)) är ett resultatobjekt, och ska inte skrivas ut.

Samma sak med rader (när vi gör $resultatobjekt->fetch_assoc()).

Vad vi måste göra är att plocka ut delar av resultatet som går att skriva ut (t ex $min_rad['namnkolonnen']). Väldigt mycket av detta kan nog med enkelhet lyftas ut till separata funktioner, så att vi får mönstret

skapa en databaskoppling resultatobjekt = resultatet av en query för varje rad i resultatet: kör en funktion som plockar ut rätt delar av raden och skriver ut dem frigör minne från resultatobjektet


Sidansvarig: Eva L. Ragnemalm
Senast uppdaterad: 2013-12-17