---
title: "Scope, Objekt, funktioner"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/108419-scope-objekt-funktioner"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "K++"
published: "2004-08-03T10:52:12.000Z"
updated: "2004-08-05T06:08:41.000Z"
replies: 8
views: 266
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/108419-scope-objekt-funktioner"
---

# Scope, Objekt, funktioner

## #1 — K++, 2004-08-03T10:52Z

Har lite problem med scopet mellan funktionerna. Hur fixar jag detta?

```php
<?php

class dl{

	function anslut($host,$name,$pwd){
		$link = mysql_connect($host,$name,$pwd);
	}

	function select($db){
		mysql_select_db($db,$link) or die("Kunde ej v&#65533;lja databasen $db");
	}

	function query($table,$condition,$sort){	
		$query = "SELECT * FROM $table";
		if($condition != "")
		$query .= " WHERE $condition";
		if($sort != "")
		$query .= " ORDER BY $sort";
		return mysql_query($query,$link);
	}

}

$dl = new dl();
$dl->anslut("localhost","mysql","mysql");
$dl->select("test");
$result = $dl->query("test","","online DESC");

echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
   echo "\t<tr>\n";
   foreach ($line as $col_value) {
       echo "\t\t<td>$col_value</td>\n";
   }
   echo "\t</tr>\n";
}
echo "</table>\n";

?>
```

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

## #2 — Matte, 2004-08-03T10:57Z

Testa så här:

```php
class dl{

    var $link;

    function anslut($host, $name, $pwd){
        $this->link = mysql_connect($host, $name, $pwd);
    }

    function select($db){
        mysql_select_db($db, $this->link) or die("Kunde ej v&#65533;lja databasen $db");
    }

    function query($table, $condition, $sort){    
        $query = "SELECT * FROM $table";
        if($condition != "")
        $query .= " WHERE $condition";
        if($sort != "")
        $query .= " ORDER BY $sort";
        return mysql_query($query, $this->link);
    }

}
```

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

## #3 — K++, 2004-08-03T11:07Z

tack, det fungerae, men en fråga till:'
Får fram detta då
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/simple/dl.php on line 35

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

## #4 — Matte, 2004-08-03T11:18Z

Endast för felsökning, ändra till:

```php
return mysql_query($query, $this->link) or die("SQL: $query <br>".mysql_error());
```

 
Vad får du ut på skärmen ?

Ett tips.
Använd mysql_fetch_assoc($result) istället för mysql_fetch_array($result, MYSQL_ASSOC).
Du får fram samma sak, men det går snabbare.

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

## #5 — K++, 2004-08-03T11:29Z

Fick detta felmedelandet:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/simple/da.php on line 33
"; ?\>?\>le\>\\n"; ?\>\>

Med denna kod

```php
<?php
class dl{

    var $link;

    function anslut($host, $name, $pwd){
        $this->link = mysql_connect($host, $name, $pwd);
    }

    function select($db){
        mysql_select_db($db, $this->link) or die("Kunde ej v&#65533;lja databasen $db");
    }

    function query($table, $condition, $sort){    
        $query = "SELECT * FROM $table";
        if($condition != "")
        $query .= " WHERE $condition";
        if($sort != "")
        $query .= " ORDER BY $sort";
       return mysql_query($query, $this->link) or die("SQL: $query <br>".mysql_error());
    }
}

$dl = new dl();
$dl->anslut("localhost","mysql","mysql");
$dl->select("abc");
$result = $dl->query("film","","");

echo "<table>\n";
while ($line = mysql_fetch_assoc($result)) {
   echo "\t<tr>\n";
   foreach ($line as $col_value) {
       echo "\t\t<td>$col_value</td>\n";
   }
   echo "\t</tr>\n";
}
echo "</table>\n";

?>
```

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

## #6 — Matte, 2004-08-03T11:45Z

Testa då istället med:

```php
$result = mysql_query($query, $this->link) or die("SQL: $query <br>".mysql_error());
return $result;
```

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

## #7 — K++, 2004-08-03T11:51Z

Nu fungerade det, även om jag inte tycker att det borde göra det.. :)

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

## #8 — Matte, 2004-08-03T11:53Z

Den koden var för felsökning.

Fick du inte fram några felmeddelanden, och allt fungerade, så borde det också fungera med:

```php
return mysql_query($query, $this->link);
```

 
Det gör det i vilket fall när jag testar.

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

## #9 — jme, 2004-08-05T06:08Z

du får nog det fel för att ett fel händer vid queryn och då sätts $result till false och det är inte en giltig parameter till myslq_fetch_assoc(). Tog mig ett tag att hitta det fel som jag själv hade.

Är van med Java och att metoderna returnerar antingen en sorts typ eller null och inte vad som helst som man kan göra med php. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/php/108419-scope-objekt-funktioner
