Connect met databse functie niet te vinden in klasse
Ik krijg de error dat de functie niet vindbaar is (mischien is dit mijn fout maar weet het niet zeker).
Dit is de code die ik hiervoor gebruik:
Code (php)
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
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
<?php
class database {
function __construct() {
$this->dbhost = 'xxxx';
$this->dbname = 'xxxx';
$this->dbuser = 'xxxx';
$this->dbpass = 'xxxx';
$this->dbconn = connect();
}
public function connect() {
if (!$con = mysql_connect($this->dbhost, $this->dbuser, $this->dbpass)) {
trigger_error(mysql_error());
}
else {
if (!$con = mysql_select_db($this->dbname, $con)) {
trigger_error(mysql_error());
}
else {
echo 'Connectie succesvol gemaakt <br />';
}
}
}
}
?>
class database {
function __construct() {
$this->dbhost = 'xxxx';
$this->dbname = 'xxxx';
$this->dbuser = 'xxxx';
$this->dbpass = 'xxxx';
$this->dbconn = connect();
}
public function connect() {
if (!$con = mysql_connect($this->dbhost, $this->dbuser, $this->dbpass)) {
trigger_error(mysql_error());
}
else {
if (!$con = mysql_select_db($this->dbname, $con)) {
trigger_error(mysql_error());
}
else {
echo 'Connectie succesvol gemaakt <br />';
}
}
}
}
?>
Ik hoop dat jullie mij kunnen helpen en eventueel mij mijn fouten laten inzien.
Verder echo je normaal gesproken geen gegevens vanuit je klasse en ook is het gebruik van trigger_error() niet de juiste oplossing. Gebruik liever Exceptions als je OO aan het programeren bent.
Ik ga net verder met mijn db klasse maar ik denk dat ik iets fout heb gedaan want bij elke mysql functie die ik wil uitvoeren krijg ik deze error: supplied argument is not a valid MySQL-Link resource.
Kan iemand mij uitleggen wat ik fout gedaan heb want ik ben er nu al even mee bezig en ik ben er nog niet achter gekomen waar de fout precies ligt of wat ik moet aanpassen om deze fout te verhelpen.
Dit werkt al niet :
Code (php)
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
32
33
34
35
36
37
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
32
33
34
35
36
37
<?php
class database {
/**
* Class __construct()
* Create variables
*/
function __construct() {
$this->dbhost = 'xxxx';
$this->dbname = 'xxxx';
$this->dbuser = 'xxxx';
$this->dbpass = 'xxxx';
$this->dbconn = null;
$this->connect();
}
public function connect() {
if(!$this->dbconn) {
if (!$this->dbconn = mysql_connect($this->dbhost, $this->dbuser, $this->dbpass)) {
trigger_error(mysql_error());
} else {
if (!$this->dbconn = @mysql_select_db($this->dbname)) {
trigger_error(mysql_error());
}
}
}
}
function __destruct()
{
if (mysql_close($this->dbconn)) {
$this->dbconn = null;
}
}
}
?>
class database {
/**
* Class __construct()
* Create variables
*/
function __construct() {
$this->dbhost = 'xxxx';
$this->dbname = 'xxxx';
$this->dbuser = 'xxxx';
$this->dbpass = 'xxxx';
$this->dbconn = null;
$this->connect();
}
public function connect() {
if(!$this->dbconn) {
if (!$this->dbconn = mysql_connect($this->dbhost, $this->dbuser, $this->dbpass)) {
trigger_error(mysql_error());
} else {
if (!$this->dbconn = @mysql_select_db($this->dbname)) {
trigger_error(mysql_error());
}
}
}
}
function __destruct()
{
if (mysql_close($this->dbconn)) {
$this->dbconn = null;
}
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door mitchel
Deze onderdrukt namelijk foutmeldingen.
Zonder komt er hetzelfde dus ik betwijfel of het daar aan ligt.
if(!$this->dbconn)
ik denk dat ie daarop vast loopt.
edit: als ik mysql_stat gebruik krijg ik wel gewoon gegevens door dus er is toch een connectie.
edit2: geen flauw idee waarom maar het werkt nu...
Gewijzigd op 01/01/1970 01:00:00 door mitchel
Even een voorbeeltje: ik wil bij user_exists in users klasse dus kijken of de user is de database bestaat. Ik wil die info dus ophalen via mijn database klasse hoe doe ik dat precies.
Code (php)
edit: was vergeten te vermelden dat mijn mysql_close functie niet werkt als ik iets verkrijg in een andere klasse
Gewijzigd op 01/01/1970 01:00:00 door mitchel