login  Naam:   Wachtwoord: 
Registreer je!
 Tutorials

Tutorials > PHP


Gegevens:
Geschreven door:
marten
Moeilijkheidsgraad:
Normaal
Hits:
9837
Punten:
Aantal punten:
 (4)
Aantal stemmen:
1
Stem:
Niet ingelogd
Nota's:
 Lees de nota's (2)
 


Tutorial:

ODBC / PHP introductie

Inleiding
Voorbereidingen
Connectie met ODBC database
Queries uitvoeren
Conclusie

Inleiding

ODBC (Open DataBase Connectivity) is een open standaard ontwikkeld door Microsoft die een universele interface (Application Programming Interface), geschreven in C, aanbiedt aan applicaties die een gegevens van of naar een database willen overzetten. Het grote voordeel hiervan is dat applicatie-ontwikkelaars zich niets moeten aantrekken van het feit of de database die ze gaan gebruiken nu een Oracle (software), MySQL, DB2 of een Microsoft SQL Server is. De ODBC-API is de eigenlijke universele interface waarmee client-applicaties interageren. De ODBC-API schermt de applicaties af van de ODBC Driver Manager. Dit is een component die instaat voor het selecteren van aangepaste routines om een DBMS van een bepaalde leverancier aan te spreken. Deze routines zijn vervat in zogeheten Database Drivers. Elke driver vormt een bibliotheek van routines die specifiek zijn geschreven voor interactie met een bepaald type databasemanagementsysteem. Wanneer nu een applicatie een dbms aanspreekt via de ODBC-API, zal de Driver Manager de driver selecteren die overeenkomt met het type DBMS en de aanroep aan de driver doorgeven (via een SPI). Deze driver vertaalt de dbms-onafhankelijke aanroep naar aanroepen specifiek voor die dbms API, die op zijn beurt dbms van toepassing aanspreekt via de server-interface. In deze tutorial zal ik wat dieper in gaan op de stof om deze ODBC in combinatie met PHP op te zetten zodat je bijvoorbeeld in een Access database kan schrijven, lezen en dergelijke. Veel plezier en hopelijk steek je er wat van op!
 
pijl top
 

Beginnen

Eerst hebben we even een beginnetje nodig om deze tutorial te volgen. We hebben namelijk een database nodig. Open Microsoft Access en maak een tabel aan met de volgende waarden:
ID (autonummering & primary key), naam (tekst) en achternaam (tekst). Je kan ook hier de voorbeeld database downloaden waar we mee gaan werken. Sla de tabel op met de naam klanten. Ok tot zover Access en de voorbereidingen. Nu gaan we verder.
 
pijl top
 

ODBC gegevensbron beheer

We gaan nu een data source aanmaken voor onze Access database. Dit doen we door het volgende bestand te openen.
%SystemRoot%system32odbcad32.exe
waarbij %SystemRoot% staat voor je Windows map
Je kan dit bestand ook vinden in Configuratiescherm > Systeembeheer > ODBC gegevensbronnen. Wanneer je dit gedaan hebt krijg je het volgende scherm te zien. Vul dit in volgens het scherm (Natuurlijk wel je gegevens aanpassen he ;-))

Ga vervolgens naar "Systeem DSN" klik op add en voeg de Microsoft Access driver toe.



Vervolgens vullen we in het laatste scherm de bovenste twee velden in. Dit mag je zelf invullen dus gebruik je fantasie maar. :). Klik vervolgens bij 'database' op selecteren en zoek je Access database op zoals je die net opgeslagen of gedownload hebt. Klik op OK.Wanneer je dit gedaan hebt open je je favoriete php editor.

 
pijl top
 

Connectie met de database in PHP

Wanneer je bovenstaande goed hebt gedaan kan je nu gebruik maken van je database. We gaan de odbc functies van PHP gebruiken. Open je editor als je dat nog niet gedaan hebt. We gaan dus eerst connectie met de database maken. Hiervoor hebben we een aantal waarden nodig. De naam van de dsn zoals je die in het vorige scherm hebt ingevuld. Een gebruikersnaam en een wachtwoord. De laatste twee zijn bij een Access database niet zo belangrijk maar een ODBC connectie kan met zoveel verschillende soorten databases dus misschien komt het nog eens van pas als je later iets voor je zelf maakt met odbc. Ik zal eerst de code geven zoals we die gaan gebruiken en daarin vind je de uitleg van de code.
<?php

/**
 * Maak connectie met de database door de volgende code te gebruiken
 **/
 
 
$dsn       'tutorial';  // Vul hier de naam in die je zelf aan de data source hebt gegeven!!
 
$username  '';
 
$password  '';
 
$connectie odbc_connect($dsn$user$pass);
 
 
/**
  * Hier komen de queries en dergelijke
  **/ 
 /**
 * Sluit de verbinding
 **/

odbc_close($connectie);
?>
 
Nu nog even controleren of we connectie hebben voordat we verder gaan door een simpel if / else structuurtje in te passen.
<?php

/**
 * Maak connectie met de database door de volgende code te gebruiken
 **/
 
 
$dsn       'tutorial';  // Vul hier de naam in die je zelf aan de data source hebt gegeven!!
 
$username  '';
 
$password  '';
 
$connectie odbc_connect($dsn$user$pass);
 
 if(
$connectie) {
     echo 
'Er is connectie met de dsn';
 } else {
     echo 
'Geen connectie';
 }
 
 
odbc_close($connectie);
?>
 
Heb je connectie? Good work soldier! You've been awarded. Je mag door naar het volgende.
 
pijl top
 

Queries uitvoeren

Wanneer je connectie hebt kan het echte werk beginnen. Wat zullen we eens maken? Een simpel adresboekje? Oke doen we!. In de database hebben we al een tabel met een voor en een achternaam. Die blijven we ook gebruiken. Het gaat om het idee ;-). Oke we gaan eerst alle waardes selecteren uit de database en op het scherm tonen. In de code staat de uitleg.
<?php

/**
 * Maak connectie met de database door de volgende code te gebruiken
 **/
 
 
$dsn       'access';  // Vul hier de naam in die je zelf aan de data source hebt gegeven!!
 
$username  '';
 
$password  '';
 
$connectie odbc_connect($dsn$user$pass);
 
 
/**
  * Zet de query in een variabele
  **/
  
 
$Query 'SELECT id, voornaam, achternaam FROM klanten';
 
 
/**
  * Voer de query uit
  **/
  
  
$results odbc_do($connectie$Query);
  
 
/**
  * Toon de uitvoer op het scherm
  **/
  
?>
  
  <div style="width: 100%; height: 100%">
  
  <?php
  
  
while(odbc_fetch_row($results)) {
      
$id    odbc_result($results'id');
      
$voornaam odbc_result($results'voornaam');
      
$achternaam odbc_result($results'achternaam');
      
      
?>
      <div style="width: 100%; height: 10%; background-color: #336699; color: #FFF;">
              <?php echo $achternaam ' ,' $voornaam '<br />'?>
      </div>
      <div style="height: 2px; background-color: #FFF;"></div>
 
      <?php
  

 
 
 
odbc_close($connectie);
?> </div>

  Krijg je een wit scherm? Raar h! Nope, er staat waarschijnlijk nog niks in je database tabel. Probeer er eens wat in te zetten. Zo kan je dus allerlei soorten queries uitvoeren in je Access database.
 
pijl top
 

Conclusie

Zo een korte maar leerzame introductie in het gebruik van ODBC databases met je php code. Het voorbeeld is in Microsoft Windows gemaakt. Maar ik kan me voorstellen dat je op je Linux server ook wel wat wilt proberen. Kijk daarvoor eens in deze tutorial. ODBC met Linux. Ik hoop dat het allemaal duidelijk is. Ik kan alleen maar zeggen wanneer je problemen hebt. Kijk eens op google en kijk of je je veldnamen wel goed hebt. 9/10x ligt het daaraan. Kijk ook eens op php.net voor meer odbc functies!

« Vorige tutorial : Loginsysteem Volgende tutorial : Bestandssysteem »

© 2002-2020 Sitemasters.be - Regels - Laadtijd: 0.017s