PHP en MySQL deel 1 - Verbinding maken

Hier ga ik je uitleggen hoe je in PHP gebruik kan maken van een database, in dit geval MySQL database. Ben je niet of nauwelijks bekend met PHP? Lees dan eerst mijn artikel [Beginnen met PHP[http://www.leerwiki.nl/Beginnen_met_PHP]] .

Wat is MySQL

MySQL is een database die gebruikt kan worden voor het opslaan en oproepen van gegevens. Dit kan je bijvoorbeeld gebruiken voor het maken van een ledensysteem. Je laat leden zich aanmelden op een aanmeld pagina, die gegevens plaats je in een MySQL database en in een ledenlijst kan je alle gegevens die in de ledenlijst zitten uit de database halen.

MySQL downloaden

De meeste hosting bedrijven hebben MySQL standaard geïnstalleerd, maar mocht je bijvoorbeeld een eigen server dan kan je MySQL gratis downloaden en op je server installeren. Je kan MySQL vinden op: http://dev.mysql.com/downloads/ Je kan hier in de beschrijving lezen welke versie van MySQL je het beste kan installeren op je server. In de meesten gevallen zal dit de MySQL Community server zijn.

MySQL vs XML

Een andere methode om gegevens op te slaan is door de gegevens in een XML bestand te plaatsen. Hierbij maak je een apart bestand aan op je web server en in dat bestand sla je de gegevens op. Het grote nadeel van XML is dat je niet flexibel bent met je gegevens opslag en ook de laad tijd van XML gegevens is aanzienlijk trager als MySQL. Alle reden dus om MySQL te overwegen om te gebruiken als gegevens opslag methode.

MySQL verbinding

We beginnen met het maken van de verbinding tussen PHP en MySQL. Hiervoor moet je je gegevens van de server ingeven.

<?php
$server		= 'localhost';		//Het adres naa r de MySQL server (standaard localhost)
$gebruiker	= 'gebruikersnaam';	//Je gebruikersnaam om in te loggen op de MySQL server
$wachtwoord	= 'wachtwoord';		//Bijbehorende wachtwoord
$database	= 'database-naam';	//Naam van de database waar je verbinding mee wilt maken

mysql_connect($server,$gebruiker,$wachtwoord)or die(mysql_error());	//Inloggen en verbinding maken op met de database
mysql_select_db($database);	//De juiste database openen en gebruiken
?>

Een nadeel van deze methode is dat er bij een fout tijdens het maken van de verbinding of met het selecteren van de database een lelijke foutmelding word doorgegeven naar de bezoekers. Die komt door het stukje: or die(mysql_error()) Je zou dit kunnen weg laten maar mocht er dan een fout zijn dan zul je een hele hoop andere foutmelding op je site krijgen op het moment dat je iets uit de database wilt halen of iets in de database wilt weg schrijven. Dit kan je oplossen door te controleren of de database verbinding is gelukt, en als dat het geval is de rest van de site laten zien. Als de verbinding dan niet gelukt is zou je de bezoeker een bericht kunnen laten zien dat de site tijdelijke problemen heeft o.i.d. en je zelf een email kunnen sturen met de exacte fout zodat je het probleem kan oplossen. Dat kan door onderstaande code.

<?php
$server		= 'localhost';		//Het adres naa r de MySQL server (standaard localhost)
$gebruiker	= 'gebruikersnaam';	//Je gebruikersnaam om in te loggen op de MySQL server
$wachtwoord	= 'wachtwoord';		//Bijbehorende wachtwoord
$database	= 'database-naam';	//Naam van de database waar je verbinding mee wilt maken

$sql_connect	= mysql_connect($server,$gebruiker,$wachtwoord);	//De MySQL verbinding in een variabel opslaan

if($sql_connect&#160;!= true)
{
	//De verbinding is niet gelukt
	echo "Vanwege technische mankementen is de site tijdelijk offline";	//Bezoeker laten weten dat er problemen met de database zijn
	exit();	//De site afsluiten
}

mysql_select_db($database, $sql_connect);	//De juiste database openen en gebruiken
?>

Het nadeel van deze oplossing is dat je bij iedere database verbinding moet opgeven in welk variabel de verbinding gemaakt moet worden. Dit betekent dus meer typ werk. Persoonlijk gebruik ik altijd de eerste optie, dit omdat de kans op database problemen maar erg klein is. Maar bij een site voor een bedrijf of instantie kan komt het niet professioneel over als je een op een site alleen een foutmelding krijgt.

We hebben nu de verbinding gemaakt met de MySQL database, deze verbinding moet in iedere pagina komen te staan waar je gebruik maakt van gegevens uit de database. Dit kan je bereiken door dit in een apart bestand te plaatsen en via een require in alle bestanden in te voegen.

Database tabel aanmaken

Voordat je iets kan doen met je MySQL database moet je eerst een tabel aanmaken in de database. Dit is mogelijk via het controle paneel voor MySQL (in de meeste gevallen zal dit phpmyadmin zijn) maar dit is ook mogelijk via PHP. Het aanmaken van een tabel doen we met de volgende code: CREATE TABLE gevolgd door de naam die voor de tabel die je wilt gebruiken. Ik zal hier gebruikers als voorbeeld gebruiken . En daarna krijg je alle waardes (en data types) die je in de tabel wilt hebben.

Hoe ziet een MySQL tabel eruit?

Een MySQL tabel is te vergelijken met een normalen tabel. Je hebt een titel voor je tabel, die gebruik je om de tabel makkelijk op te kunnen zoeken. Bovenaan de tabel heb je de koppen, of in MySQL velden. Onder die velden kan je gegevens invullen.

Voorbeeld:

Gebruikers

voornaam achternaam telefoon wachtwoord
Jan Jansen 06123456 Geheim
Piet Nogiets 03158449 Piet123

Om een MySQL tabel te maken heb je alleen iets meer informatie nodig als alleen een veld naam. Bij een veld naam moet je ook opgeven wat er voor een gegevens in die kolom komen te staan. Voor een korte tekst met letters, cijfers en speciale characters zoals hier de voornaam, achternaam en het wachtwoord gebruik je Varchar. En bij varchar geef je ook op hoeveel characters er maximaal in komen te staan. Dus bijvoorbeeld Voornaam Varchar(120) Hier mogen er maximaal 120 characters in het veld voornaam komen te staan, als je meer gegevens invult zullen die verdwijnen. Als je alleen getallen gebruikt, zoals hier bij telefoon, maak je gebruik van INT, ook hier geef je het maximaal aan characters op. Alleen bij INT mogen er alleen getallen in komen te staan. Er zijn nog een hele hoop andere character sets mogelijk in MySQL maar voorlopig houden we het hierbij.

Tabel aanmaken in PHP

We gaan nu een actie uitvoeren in de database, hiervoor hebben we dus een MySQL verbinding nodig. Ik zal de verbinding in dit voorbeeld wel weg laten.

<?php
$sql = "CREATE TABLE gebruikers
(
voornaam varchar(120),
achternaam varchar(120),
telefoon int(12),
wachtwoord varchar(180)
)";

mysql_query($sql);
?>

Gegevens toevoegen en aanpassen

In het volgende artikel PHP en MySQL deel 2 - Gegevens invoegen [http://leerwiki.nl/PHP_en_MySQL_deel_2_-_Gegevens_invoegen] ga ik uitleggen hoe je gegevens in je tabel kan zetten en hoe je die gegevens kan gaan aanpassen.


Reacties (0)

Reageer
Geen resultaten gevonden