Connect til MySQL database
Indhold
1. Kontakt med MySQL database (det jeg kan lide at kalde en "snabel")
2. Eksempel på at trække noget ud af databasen
3. Små "need to know how" om SQL sproget ved MySQL (ting der er andeledes i forhold til Acces og MsSQL)
1. Kontakt med MySQL database
Selve det at få en "snabel" ned i en MySQL database er i teorien ikke anderledes end ved en MsSQL,
Det går vi lige igennem
Når du skal connecte til en database skal du bruge følgende:
Driver: {mySQL ODBC 3.51 Driver}
'Dette er de driver jeg har installeret på min server til MySQL, og de kan hentes på www.mysql.org, har du webhotel er der sikkert infomationer om dette et sted i en FAQ eller hjælpe side på dit hotels web adresse.
Server: en ip eller en DNS adresse
Database: navnet på den database på serveren du vil havde en "snabel" i
UID: dette er en bruger der oprettet i databasen
Password: passwordet til den bruger
så skulle det være på plads så nu sætter vi det lige sammen også går vi ellers videre.
Koden til at lave denne "snabel" kan se således ud
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={MySQL ODBC 3.51 Driver}; Server=webbandit.dk; Database=database; UID=brugernavn; PWD=password;"
%>
Eksempel på at trække noget ud af databasen
Nu har vi så et hul ned så er det jo oplagt at vise hvordan man kan bruge det så det gør vi lige hurtigt
Vi forstiller os at vi i databsen som vi har en "snabel" i er en tabel der heder [artikler].
i tabelen er er der nogle data felter der hedder [id/int(5)Autoincrease] [forfatter/text(40)], [overskrift/text(200)] og [brdtext/blob] (før / er navnet og efter er datatypen talet imellem () er antal tegn. og her efter er specielle egenskaber)
Der er en hel spand af artikler i tabelen og dem vil vi gerne havde smidt ud
så nu lidt simpel kode igen
<%
'SQL streng
SQL = "SELECT forfatter, overskrift, brdtext FROM artikler" 'her kunne vi godt havde brugt * men så loader vi også id med ned og den skal vi ikke bruge
'også køre vi og koger det hele ned i RS :)
Set RS = objConn.Execute(SQL)
'hvis nu at der ikke er nogen artikler skal siden jo ikke være tom
If RS.EOF then
Response.write "Der var ingen artikler i databasen :("
Else
Do While NOT RS.EOF
' så afslutter vi asp koderne for det er nemmer at arbejde med html udenfor asp koderne
%>
<!-- her kunne være lidt smarte tabeler og alt muligt men da det ikke er det artiklen handler om springer vi det over og udskriver bare vores informationer-->
<%=RS("Overskrift")%> af <%=RS("forfatter")%><br>
<%=RS("brdtext")%><hr>
<%
RS.MoveNext
Loop
' Sådan nu har vi et skide smart og dødlækkert artikel system :)
%>
Små "need to know how" i SQL sproget ved MySQL
Hvis du indtil nu har arbejdet med Acces eller MsSQL så er der nogle få ting i der skal gøres anderledes, her er nogen af dem.
du kender sikkert godt TOP som bruges til at kontrolere hvor mange poster du udskriver, og problemet er såresimpel: MySQL kender den ikke.
Men problemet er nemt at løse, nemlig med funktionen LIMIT, som skal komme i enden af SQL strængen.
eks. hvis en acces eller MsSQL SQL stræng ser således ud
SELECT TOP 30 * FROM table DESC
Vil den med MySQL SQL se således ud
SELECT * FROM table DESC LIMIT 30
Sådan findes der flere eksempler, så en gang imellem er det nødvendigt lige at hente lidt hjælp hos www.mysql.org
God fornøjelse.