---
title: "Ett ljus tänt (?) om modern databasaccess"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/161865-ett-ljus-tänt-om-modern-databasaccess"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "itpastorn"
published: "2007-06-23T19:10:50.000Z"
updated: "2007-07-23T08:39:36.000Z"
replies: 26
views: 1716
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/161865-ett-ljus-tänt-om-modern-databasaccess"
---

# Ett ljus tänt (?) om modern databasaccess

_Sida 1 av 2._

## #1 — itpastorn, 2007-06-23T19:10Z

Eftersom jag vid tillfälle klagat på att det verkar som om ingen fattat att mysql-interfacet är osäkrare, långsammare och på de flesta sätt fulare än PDO, så har jag nu sökt råda bot på situationen.

Sex mycket kommenterade exempel på hur man ansluter säkert och effektiv med PDO från en planerad bok om webbutveckling är nu upplagt på min hemsida.

Följande länk räknas kanske som länkspam, men jag har ju också ombetts att "komma med något" och inte bara klaga: <http://keryx.se/dev/> 

Lars Gunther

Permalänk: https://www.webforum.nu/p/161865

## #2 — Tulork, 2007-06-23T22:07Z

Mkt trevlig läsning och bra exempel... kudos till dig.
Har faktiskt letat efter en liten guide till PDO som går igenom grunderna såm du gör.

Nästa projekt blir med PDO for sure.

PS. När kommer boken?

Permalänk: https://www.webforum.nu/p/1995324

## #3 — Pedda, 2007-06-24T09:32Z

Bra med lite genomgång av PDO.
Men en fråga.
Hur får du in $options i ditt exempel på sid.10?

Permalänk: https://www.webforum.nu/p/1995357

## #4 — Lasp, 2007-06-24T09:34Z

Verkar vara ett bra initiativ. Vill du ha hjälp med korrekturläsning så hojta till.
Stavfel nedsätter förtroendet för ditt alster annars. Sedär lite hot fick jag in!

Permalänk: https://www.webforum.nu/p/1995358

## #5 — itpastorn, 2007-06-24T11:52Z

Ooops! Fixat $options

> **Pedda skrev:**
>
> Bra med lite genomgång av PDO.
> Men en fråga.
> Hur får du in $options i ditt exempel på sid.10?

Nice catch!

Jag skriver koden i Eclipse och klistrar in den i Open Office Writer (vilket bevarar färgformatteringen -trevligt nog). Tyvärr leder det till viss kod-duplicering.

```php
$db  = new PDO($dsn,$dbuser,$dbpass);
```

Skall vara

```php
$db  = new PDO($dsn,$dbuser,$dbpass,$options);
```

PDF-filen fixad också.

Manualen om PDO:s konstruktor: <http://se.php.net/manual/en/function.PDO-construct.php>

Tack för visad vaksamhet!

Permalänk: https://www.webforum.nu/p/1995406

## #6 — itpastorn, 2007-06-24T11:56Z

> **Lasp skrev:**
>
> Verkar vara ett bra initiativ. Vill du ha hjälp med korrekturläsning så hojta till.
> Stavfel nedsätter förtroendet för ditt alster annars. Sedär lite hot fick jag in!

Alla brister som hittas får ni gärna påtala. Jag skrev i all hast och har inte korrekturläst själv!

När jag tänker efter så har jag även missat att använda den inbyggda rättstavningsfunktionen, vilken jag alltid brukar använda. Jag missar lite med fingrarna på min nya dator, märker jag. Tack och lov att Firefox låter mig se stavfel i webbformulär - som här!

Permalänk: https://www.webforum.nu/p/1995408

## #7 — UrMe, 2007-06-25T06:53Z

Intressant, tackar!

Permalänk: https://www.webforum.nu/p/1995561

## #8 — greyhound, 2007-06-25T07:23Z

> 29Enkla databasexempel för PH 5.2+

Ska de inte vara PHP?
Finns fler stavfel, tex PHPP.

Mycket intressant måste jag säga!

Permalänk: https://www.webforum.nu/p/1995566

## #9 — itpastorn, 2007-06-25T10:19Z

Tack

> **greyhound skrev:**
>
> Ska de inte vara PHP?
> Finns fler stavfel, tex PHPP.
> 
> Mycket intressant måste jag säga!

1\. Åtgärdat. Tack!

2\. Tack!

Permalänk: https://www.webforum.nu/p/1995594

## #10 — Troxy, 2007-06-25T22:34Z

Helt klart det mest intressanta material på svenska om PHP som jag har läst. :)

Permalänk: https://www.webforum.nu/p/1996191

## #11 — itpastorn, 2007-06-27T15:03Z

Ett fel till rättat

Jag har hittat ett fel till, denna gången i koden.

I exempel 5, när man skapar $options:

```php
$options  = array(PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
```

Permalänk: https://www.webforum.nu/p/1996555

## #12 — vic, 2007-06-27T17:17Z

Tjenare!

Jag får börja med att tacka pastorn för att han tagit upp detta intressanta ämne. Jag undrar dock vad jag gör för fel när jag får felmeddelandet i stil med "Can not find drivers"? Jag kör på windows med php 5.1 och drivrutinerna sqlite2, sqlite

Permalänk: https://www.webforum.nu/p/1996594

## #13 — Tulork, 2007-06-27T19:10Z

kanske måste installera modulerna för PDO?

Permalänk: https://www.webforum.nu/p/1996638

## #14 — vic, 2007-06-27T21:25Z

Som jag sa så har jag PDO-drivrutinerna sqlite och sqlite2

Permalänk: https://www.webforum.nu/p/1996663

## #15 — itpastorn, 2007-06-27T21:46Z

> **vic skrev:**
>
> Som jag sa så har jag PDO-drivrutinerna sqlite och sqlite2

Man behöver installera de PDO-specifika sqlite-modulerna.

<http://se.php.net/manual/en/ref.pdo-sqlite.php>

Permalänk: https://www.webforum.nu/p/1996670

## #16 — Compusa, 2007-06-27T21:58Z

Ett exempel med PDO och Store Procedures skulle kanske kunna vara något för din bok?

Permalänk: https://www.webforum.nu/p/1996671

## #17 — vic, 2007-06-27T22:41Z

> **itpastorn skrev:**
>
> Man behöver installera de PDO-specifika sqlite-modulerna.
> 
> <http://se.php.net/manual/en/ref.pdo-sqlite.php>

Hur vet jag om de är installerade? Följande anger phpinfo

PDO
PDO support = enabled
PDO drivers = sqlite2, sqlite

pdo_sqlite
PDO Driver for SQLite 3.x = enabled
PECL Module version = 1.0.1 $Id: pdo_sqlite.c,v 1.10.2.6 2006/01/01 12:50:12 sniper Exp $
SQLite Library = 3.3.7undefined

Räcker inte detta?

Permalänk: https://www.webforum.nu/p/1996680

## #18 — itpastorn, 2007-06-28T12:15Z

> **Compusa skrev:**
>
> Ett exempel med PDO och Store Procedures skulle kanske kunna vara något för din bok?

Stored procedures och triggers kommer att nämnas, men inte behandlas på djupet. Deras roll i en webbapplikation är sällan särskilt stor.

Enligt killarna på MySQL ger prepared statements bättre prestanda än stored procedures. <http://hades.phparch.com/files/tek07/jay_pipes-kill_mysql_performance.pdf>

Liksom triggers frestas man dessutom av dem att lägga affärslogik i sin databas, där den sortens logik inte hör hemma. Men visst finns det undantag mot denna grundregel.

Permalänk: https://www.webforum.nu/p/1996798

## #19 — itpastorn, 2007-06-28T12:39Z

pdo-sqlite

> **vic skrev:**
>
> Hur vet jag om de är installerade? Följande anger phpinfo...

Kör du på Windows eller Linux (eller Mac, eller...)

Hur ser (relevanta delar av) din php.ini ut?

Följande guide kan vara till hjälp om du kör Windows:
<http://www.corephp.co.uk/archives/36-A-Guide-to-using-PHP-5-Extensions-on-Windows.html>

Permalänk: https://www.webforum.nu/p/1996805

## #20 — vic, 2007-06-29T23:14Z

Till sist fick jag det att fungera när jag inledde det hela med:

```php
dl('php_pdo_mysql.dll');
```

Permalänk: https://www.webforum.nu/p/1997173

---

Tråden på webben: https://www.webforum.nu/amne/php/161865-ett-ljus-tänt-om-modern-databasaccess  
Nästa sida: https://www.webforum.nu/amne/php/161865-ett-ljus-tänt-om-modern-databasaccess/page2.md
