---
title: "PHP: smidig funktion för databas hantering?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/140501-php-smidig-funktion-för-databas-hantering"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Sjodahl"
published: "2006-01-07T18:55:53.000Z"
updated: "2006-01-10T11:31:32.000Z"
replies: 5
views: 475
page: 1
pages: 1
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/140501-php-smidig-funktion-för-databas-hantering"
---

# PHP: smidig funktion för databas hantering?

## #1 — Sjodahl, 2006-01-07T18:55Z

Hej!

Lite nyfiken på hur ni brukar sköta era databas kopplingar. Står lite still kommer inte riktigt på hur jag vill ha det. Men brukar vara något i stil med detta:

En fil med alla funktioner, i denna includar jag min dBsettings.php, sen includar jag min funktions fil på alla sidor där jag behöver dem.

Men tycker jag brukar få lite för många funktion. Har tex en följande:

set_nickname
get_nickname
set_ex2
get_ex2

Men borde väl kunna räcka med en för update,insert,from,delete?
Ser inget smart sätt att skriva dem på just nu, så lite tips och ideer tack!

  :bire

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

## #2 — Compusa, 2006-01-08T00:08Z

Kör du objekt-orienterat är det att rekommendera. Klassen ska beskriva objektets egenskaper och dess instansvariabler bör sättas och komma åts med accessor och mutator funktioner (get och set mao). Anledningen till att du har dessa är för att du enligt god oo-design bör undvika att göra för stora delar av en klass struktur tillänglig utifrån.

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

## #3 — Sjodahl, 2006-01-08T12:23Z

hmm låter vettigt ;)

Man kan inte få lite mer kod förslag typ?
Eller ngn bra länk ?

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

## #4 — mmmMange, 2006-01-09T08:16Z

Jag använder mig av PDO ( <http://www.php.net/manual/en/ref.pdo.php> ). Sedan har jag en egen klass med lite förenklade funktioner. TYp såhär:

```php
    class DBObject extends PDO{

        public function GetAsArray( $SQL_Query ){
            $Params = func_get_args();
            $result = $this->query(  $this->BuildQuery( $SQL_Query, array_slice($Params, 1) )  );

            if( $this->errorCode() == '00000' ){
                $rows = $result->fetchAll(PDO::FETCH_COLUMN, 0);
                $result->closeCursor();
            }
            else{
                $rows = array();
            }

            return $rows;
        }

        public function GetFirstRow( $SQL_Query ){
            $Params = func_get_args();
            $result = $this->query(  $this->BuildQuery( $SQL_Query, array_slice($Params, 1) )  );

            $row = array();
            if( $this->errorCode() == '00000' ){
                $row = $result->fetch(PDO::FETCH_ASSOC);
                $result->closeCursor();
            }

            if( $row === array() ){
                return False;
            }
            else{
                return $row;
            }
        }

        public function GetFirstValue( $SQL_Query ){
            $Params = func_get_args();
            $result = $this->query(  $this->BuildQuery( $SQL_Query, array_slice($Params, 1) )  );

            $value = NULL;
            if( $this->errorCode() == '00000' ){
                $value = $result->fetchColumn(0);
                $result->closeCursor();
            }

            if( $value === NULL ){
                return False;
            }
            else{
                return $value;
            }
        }
}
```

Lite smidigare att köra

```php
print $DB->GetFirstValue('SELECT username FROM users WHERE userid=?i', $_SESSION['userid']);
```

än nåt sånthär 

```php
$stmt = $DB->query('SELECT username FROM users WHERE userid='.$DB->quote($_SESSION['userid'], PDO::PARAM_INT));

print $stmt->fetchColumn(0);
$stmt->closeCursor();
```

Det finns säkert optimalare klasser än min hemmabyggda, men jag gillar den. :)

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

## #5 — Sjodahl, 2006-01-09T08:21Z

Ser ju rätt nice ut, mer sådant ;)

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

## #6 — Sjodahl, 2006-01-10T11:31Z

Så här ser mina funktioner ut idag tex:

```
/*-----------------------------------------------------------------------------------
function get_email_settings()
-----------------------------------------------------------------------------------*/
	function get_email_settings( $eshop_ID ){
		
		$SQL	= "SELECT * FROM eSHOP_email_settings WHERE eshop_ID='$eshop_ID'";
		$RESULT	= mysql_query ($SQL) or die(mysql_error());
		$ROW	= mysql_fetch_array($RESULT);
			
		$TEMP["eshop_ID"]       = $eshop_ID;
		$TEMP["support_mail"]	= $ROW["support_mail"];
		$TEMP["order_mail"]	 = $ROW["order_mail"];
	
		return $TEMP;

	}
```

```
/*-----------------------------------------------------------------------------------
function set_email_settings()
-----------------------------------------------------------------------------------*/
	function set_email_settings( $SETTINGS ){

		$eshop_ID	= $SETTINGS["eshop_ID"];
		$support_mail	= $SETTINGS["support_mail"];
		$order_mail	= $SETTINGS["order_mail"];

		$SQL = "UPDATE eSHOP_email_settings SET support_mail='$support_mail', order_mail='$order_mail' WHERE  eshop_ID='$eshop_ID'";

		$RESULT	= mysql_query ($SQL) or die(mysql_error());
	}
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/140501-php-smidig-funktion-för-databas-hantering
