geen toegant tot DB
De webmaster heeft me alle rechten gegeven maar krijg nog steeds een melding:
Database jdeboer wordt uitgevoerd op localhost
Fout
SQL-query :
SHOW TABLE STATUS FROM `jdeboer`
MySQL retourneerde:
#1044 - Access denied for user: '@localhost' to database 'jdeboer'
De webmaster heeft zelfs de data-bestanden van mijn harde schijf overgenomen (mysql\data)
Zou ik iets in mijn php-scripts verkeerd hebben ingesteld?
ik gebruik $host, $user en $password.
gedeelte uit FAsearch.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
...
$host = "localhost";
$user = "jdeboer";
$password = "(mijn wachtwoord)";
$db = mysql_connect($host, $user, $password) or die ("Could not connect to " . $host);
$dbname = "jdeboer";
$tablename = "filmarchief";
$query = "SELECT * FROM $tablename";
include('include\database.php');
...
?>
...
$host = "localhost";
$user = "jdeboer";
$password = "(mijn wachtwoord)";
$db = mysql_connect($host, $user, $password) or die ("Could not connect to " . $host);
$dbname = "jdeboer";
$tablename = "filmarchief";
$query = "SELECT * FROM $tablename";
include('include\database.php');
...
?>
gedeelte uit include\database.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
...
if (empty($dbname)) { $dbname = "mysql"; } // database naam
if (empty($host)) { $host = "localhost"; } // host naar MySQL
if (empty($user)) { $user = ""; } // gebruikersnaam van MySQL
if (empty($password)) { $password = ""; } // wachtwoord van MySQL
// user configuratie
if (empty($to)) { $to = "[email protected]"; } // jouw email adres
if (empty($subject)) { $subject = "database connectie mislukt"; } // onderwerp van de email
if (empty($from)) { $from = "From: Autobot <[email protected]>"; }
...
?>
...
if (empty($dbname)) { $dbname = "mysql"; } // database naam
if (empty($host)) { $host = "localhost"; } // host naar MySQL
if (empty($user)) { $user = ""; } // gebruikersnaam van MySQL
if (empty($password)) { $password = ""; } // wachtwoord van MySQL
// user configuratie
if (empty($to)) { $to = "[email protected]"; } // jouw email adres
if (empty($subject)) { $subject = "database connectie mislukt"; } // onderwerp van de email
if (empty($from)) { $from = "From: Autobot <[email protected]>"; }
...
?>
zo te zien klopt de data gewoon niet, of de server is niet in orde of je wachtwoord/gebruikersnaam klopt niet
FAsearch.php: de variabelen van $user worden niet naar de database.php geexporteerd zo het lijkt. Hierdoor krijg je een lege gebruikersnaam (alles de standaardwaarden). Weet je zeker dat je die variabelen in FASEARCH.php moet stuffen? En moeten die variabelen niet als globalen in database.php gedefinieerd worden?
de Tripod-site is op http://members.lycos.nl/johndeboer/
En op de andere www.jdeboer.tk werkt ie niet,
heb de script nu zo:
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
38
39
40
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
38
39
40
<?php
...
function db_connect ($host = "", $user = "" , $password = "")
{
global $browser, $host, $user, $password, $db, $tablename, $query;
// variabelen initialiseren
if (empty($browser)) { $browser = $HTTP_USER_AGENT; }
if (empty($host)) { $host = "localhost"; }
if (empty($user)) { $user = "JdeBoer"; }
if (empty($password)) { $password = "(mijn wachtwoord)"; }
// connect to database
if (empty($db)) { $db = mysql_connect($host, $user, $password) or die ("Could not connect to " . $host); }
if (empty($dbname)) { $dbname = "jdeboer"; }
if (empty($tablename)) { $tablename = "filmarchief"; }
mysql_select_db("$dbname", $db) or die ("Could not find " . $dbname);
$query = "SELECT * FROM $tablename";
}
...
// connect to database
$host = "localhost";
$user = "JdeBoer";
$password = "(mijn wachtwoord)";
$db = mysql_connect($host, $user, $password) or die ("Could not connect to " . $host);
$dbname = "jdeboer";
$tablename = "filmarchief";
$query = "SELECT * FROM $tablename";
#include('include\database.php');
db_connect ($host, $user, $password);
...
?>
...
function db_connect ($host = "", $user = "" , $password = "")
{
global $browser, $host, $user, $password, $db, $tablename, $query;
// variabelen initialiseren
if (empty($browser)) { $browser = $HTTP_USER_AGENT; }
if (empty($host)) { $host = "localhost"; }
if (empty($user)) { $user = "JdeBoer"; }
if (empty($password)) { $password = "(mijn wachtwoord)"; }
// connect to database
if (empty($db)) { $db = mysql_connect($host, $user, $password) or die ("Could not connect to " . $host); }
if (empty($dbname)) { $dbname = "jdeboer"; }
if (empty($tablename)) { $tablename = "filmarchief"; }
mysql_select_db("$dbname", $db) or die ("Could not find " . $dbname);
$query = "SELECT * FROM $tablename";
}
...
// connect to database
$host = "localhost";
$user = "JdeBoer";
$password = "(mijn wachtwoord)";
$db = mysql_connect($host, $user, $password) or die ("Could not connect to " . $host);
$dbname = "jdeboer";
$tablename = "filmarchief";
$query = "SELECT * FROM $tablename";
#include('include\database.php');
db_connect ($host, $user, $password);
...
?>
en nog krijg ik geen connectie tot de db van MySQL.
kan iemand mij hierbij helpen?
Maar t werkt niet helemaal zoals ik t graag zou willen zien en wat volgens mij t overzichtelijkst werkt.
Ik heb in dit geval de database.php ertussenuit gehaald als include van t script wat hierboven beschreven staat.
)
Of je hem handig vind weet ik niet maar dit is mijn database.php (allemaal functies die ik handig vind, de originele heeft er nog meer 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?
class database
{
# Database vars
var $user = "****";
var $pass = "****";
var $host = "localhost";
var $name = "****";
# Functie die mysql_num_rows teruggeeft
function num_rows($sql)
{
$this->connect();
$res = mysql_query($sql);
$aantal = mysql_num_rows($res);
mysql_close();
return $aantal;
}
# Functie de mysql_fetch_array teruggeeft
function get_array($sql)
{
$this->connect();
$res = mysql_query($sql);
while($data = mysql_fetch_array($res))
$row[] = $data;
mysql_close();
return $row;
}
# Zelfde als hierboven maar dan 1 row
function get_single($sql)
{
$this->connect();
$res = mysql_query($sql);
$data = mysql_fetch_array($res);
mysql_close();
return $data;
}
# Functie die de database connectie maakt
function connect()
{
return mysql_select_db($this->name, mysql_connect($this->host, $this->user, $this->pass));
}
}
?>
class database
{
# Database vars
var $user = "****";
var $pass = "****";
var $host = "localhost";
var $name = "****";
# Functie die mysql_num_rows teruggeeft
function num_rows($sql)
{
$this->connect();
$res = mysql_query($sql);
$aantal = mysql_num_rows($res);
mysql_close();
return $aantal;
}
# Functie de mysql_fetch_array teruggeeft
function get_array($sql)
{
$this->connect();
$res = mysql_query($sql);
while($data = mysql_fetch_array($res))
$row[] = $data;
mysql_close();
return $row;
}
# Zelfde als hierboven maar dan 1 row
function get_single($sql)
{
$this->connect();
$res = mysql_query($sql);
$data = mysql_fetch_array($res);
mysql_close();
return $data;
}
# Functie die de database connectie maakt
function connect()
{
return mysql_select_db($this->name, mysql_connect($this->host, $this->user, $this->pass));
}
}
?>
Gewijzigd op 23/06/2004 22:03:00 door Mitch X
Netjes.. vergeet alleen niet ook de verbinding ook te verbreken.
Quote:
Using mysql_close() isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution.
Bron: http://nl2.php.net/manual/en/function.mysql-close.php
Elwin
Heb je er echt sterretjes staan voor user, pass, host en name of jouw eigen gegevens?
Quote:
var $user = "****";
var $pass = "****";
var $host = "localhost";
var $name = "****";
var $pass = "****";
var $host = "localhost";
var $name = "****";
snap classes (of OOP) nog niet echt helemaal
Gewijzigd op 25/06/2004 21:58:00 door John de Boer
1. Heb je die database.php ge'include'?
2. Leg jij connectie via connect()?
2. Neej niet psies zoals jij denkt :
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?
include("database.php");
$db = new database;
$sql = "SELECT * FROM `tabel`";
# En dan kun je de 3 functies gebruiken:
$aantal = $db->num_rows($sql);
$single = $db->get_single($sql);
$multiple = $db->get_array($sql);
?>
include("database.php");
$db = new database;
$sql = "SELECT * FROM `tabel`";
# En dan kun je de 3 functies gebruiken:
$aantal = $db->num_rows($sql);
$single = $db->get_single($sql);
$multiple = $db->get_array($sql);
?>
Simple as that :)