class voor databaseconnectie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ward Beyens

Ward Beyens

06/08/2013 19:05:15
Quote Anchor link
Beste PHP'ers,
ik heb een klein probleempje met het onderstaande script. Als ik gewoon de klasse uittest in een browser komt er te staan: Warning: mysql_query() expects parameter 2 to be resource, null given
er komt ook te staan 'undefined variable connect'. Met andere woorden ik doe iets fout met de $connectie variabele waar eigenlijk de databasegegevens zouden in moeten opgeslagen worden. Ik denk dat het is omdat $dbconnect niet als parameter word gebruikt maar ik weet niet hoe ik de de dbgegevens ander zou moeten opslaan.
Mischien weet hier iemand wel een oplossing op ? :)
Alvast bedankt !


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
include ('html_kop.inc.php') ;
//CLASS MAKEN EN EIGENSCHAPPEN DEFINIËREN
class DataConn {
public $dbhost ;
public $dbuser ;
public $dbpass ;
public $dbname ;
public $dbconnect ;
public $dbquery ;

// DATABSE CONNECTIE MAKEN
public function __construct ($host, $user, $pass, $name) {
$this->dbhost = $host;
$this->dbuser = $user ;
$this->dbpass = $pass ;
$this->dbname = $name ;
$this->dbconnect = $connect ;
$connect = mysql_connect($host, $user, $pass) or die('<p>fout: connectie</p>') ;

//DATABASE SELECTEREN
mysql_select_db($name, $connect) or die ('<p>fout: database bestaat niet</p>') ;
}

//QUERY UITVOEREN
public function PutDatabase($query) {
$this->dbquery = $query ;
mysql_query($query, $connect) ;
}
}


?>
Gewijzigd op 06/08/2013 19:06:35 door Ward Beyens
 
PHP hulp

PHP hulp

23/11/2024 09:44:29
 
Erwin H

Erwin H

06/08/2013 19:17:28
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$this
->dbconnect = $connect ;
$connect = mysql_connect($host, $user, $pass) or die('<p>fout: connectie</p>') ;
?>

Je slaat dus eerst de variabele $connect op in een property, maar maakt het DAARNA pas aan... uhm... verkeerde volgorde dunkt mij?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
public function PutDatabase($query) {
$this->dbquery = $query ;
mysql_query($query, $connect) ;
}

?>

En hier gebruik je een variabele $connect, waar komt die vandaan? Die bestaat in die methode helemaal niet. Ik gok dat je hier het property wil gebruiken, dus $this->connect.

En verder vraag ik me af waarom je al die connectie gegevens opslaat in properties, waar is dat voor nodig?
Gebruik ook geen publieke properties, maar private. Zeker bij een connectie wil je niet dat er ergens van buitenaf even simpel die connectie geleegd wordt.
 
Ward Beyens

Ward Beyens

06/08/2013 19:26:45
Quote Anchor link
Het is de eerste keer dat ik een object georienteerd scriptje maak ;) Bedankt voor de nuttige tips ik heb het ondertussen aangepast en het werkt :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.