geen toegant tot DB

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

John de Boer

John de Boer

20/06/2004 23:26:00
Quote Anchor link
Ik heb een db online gezet: database jdeboer, tabel filmarchief.
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)
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
<?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)
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
<?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]>"; }

...


?>
 
PHP hulp

PHP hulp

26/11/2024 17:24:39
 
Rick

Rick

20/06/2004 23:41:00
Quote Anchor link
zo te zien klopt de data gewoon niet, of de server is niet in orde of je wachtwoord/gebruikersnaam klopt niet
 
Arend a

Arend a

21/06/2004 09:35:00
Quote Anchor link
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?
 
John de Boer

John de Boer

23/06/2004 20:37:00
Quote Anchor link
Ik heb het ook ffies op Lycos/Tripod geprobeerd en die werkt wel zoals ik wil zien:
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)
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
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);

...


?>


en nog krijg ik geen connectie tot de db van MySQL.
kan iemand mij hierbij helpen?
 
Mitch X

Mitch X

23/06/2004 20:40:00
Quote Anchor link
Wat zit je nou te kutten met die functie?
Zet die troep in connect.php (oid) en include het Afbeelding
 
John de Boer

John de Boer

23/06/2004 21:33:00
Quote Anchor link
Het was ook mijn bedoeling om het allemaal in een include\database.php te zetten, zodat ik die voor alle db's kon gaan gebruiken en dan in het desbetreffende php-script de vriabelen $host, $user en $password e.d. door te geven.

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.
 
Mitch X

Mitch X

23/06/2004 21:52:00
Quote Anchor link
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 Afbeelding)
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
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));
        }
    }

?>
Gewijzigd op 23/06/2004 22:03:00 door Mitch X
 
Arend a

Arend a

24/06/2004 11:55:00
Quote Anchor link
Netjes.. vergeet alleen niet ook de verbinding ook te verbreken.
 
Elwin - Fratsloos

Elwin - Fratsloos

24/06/2004 12:16:00
Quote Anchor link
Die mysql_close() is niet perse nodig:
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
 
Mitch X

Mitch X

24/06/2004 12:34:00
Quote Anchor link
Staat wel netjes Afbeelding
 
John de Boer

John de Boer

25/06/2004 21:58:00
Quote Anchor link
@Mitch

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 = "****";


snap classes (of OOP) nog niet echt helemaal
Gewijzigd op 25/06/2004 21:58:00 door John de Boer
 
Mitch X

Mitch X

25/06/2004 22:34:00
Quote Anchor link
Mijn eigen gegevens natuurlijk Afbeelding
 
John de Boer

John de Boer

25/06/2004 23:42:00
Quote Anchor link
@Mitch

1. Heb je die database.php ge'include'?

2. Leg jij connectie via connect()?
 
Mitch X

Mitch X

26/06/2004 00:45:00
Quote Anchor link
1. Jah
2. Neej niet psies zoals jij denkt :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>

Simple as that :)
 



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.