Fout code met mysql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Joy brusselers

joy brusselers

29/12/2011 12:48:12
Quote Anchor link
na 3 webservers geinstaleerd te hebben en 1 online host , werkt de connectie naar mijn database nog niet

ik heb daarbij alle mogenlijke soorten passworden en hosten gebruikt .
in configs en in mijn code



de mysql / database error

Quote:
Access denied for user 'Hier me usernaam'@'hiermehost' (using password: YES)




Quote:

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<?php
//Msql


class database {
    
    
    //Define objcets
    public $Username;
    public $Password;
    public $Database;
    public $Host;
    
    
    // Functions
    
    //Connect

    
    public function Connect(){
        
        // Connect to database with user defined propertys
        $Mysql_check = mysql_connect($this->Host,$this->Username,$this->Password);
        // Select the database
        
        if(!$Mysql_check){
            
            die(mysql_error());
            
        }
        
        
        @
mysql_select_db($this->Database,$Mysql_check) or die("Unable to select ".$this->Database."");
        
        
        
        mysql_close();
        
    }

    
    // Get information from database
    public function Getinformation(){
        
        // Select table
            $result = mysql_query("SELECT naam,leeftijd FROM showpost ");
             if(!$result){
                
                echo 'Could not run query: ' . mysql_error();
                exit;
                
            }

            
                $ROW = mysql_fetch_assoc($result);
                
                   echo $ROW['naam'];
                echo $ROW['leeftijd'];
    }

    
    



    
    
    // Inaert information
    
    // Set data

    public function Setdata($Username,$Database,$Password,$Host){
    
        $this->Username = $Username;
        $this->Database = $Database;
        $this->Password = $Password;
        $this->Host = $Host;
            
    }

    // Get data
    
    public function Getdata(){
        
        return $this->Username;
        return $this->Database;
        return $this->Password;
        return $this->Host;
        
        
        
    }
    
    
}

// Show post
class Showpost {
    
    // define objects
    public $Cname;
    public $Idatum;
    public $Cmessage;
    
    
        // Functions
        public function Show() {
            
         // Opzet van de post laten zien    
        }

        // Setdata
        
        public function Setdata($Cname,$Idatum,$Cmessage) {
            
            // Declare
            $this->Cname = $Cname;
            $this->Idatum = $Idatum;
            $this->Cmessage = $Cmessage;    
            
            
        }

    
        // Getdate
        
        public function Getdata(){
            
            // Return data
            
            return $this->Cname;
            return $this->Idatum;
            return $this->Cmessage;
            
        }
        
    
    
}









$Database = new database();

// user passs database host
$Database->Setdata('user','database','password','host');
$Database->Connect();
$Database->Getinformation();



 



?>

 
PHP hulp

PHP hulp

24/11/2024 00:37:18
 
Erwin H

Erwin H

29/12/2011 13:05:59
Quote Anchor link
Het lost je probleem waarschijnlijk niet op... maar toch twee opmerkingen:
1)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    public $Username;
    public $Password;
    public $Database;
    public $Host;
?>

Deze hoeven natuurlijk niet public te zijn. Sterker, zou ik nooit doen. Je hebt een set en get methode waarmeee ze zijn uit te lezen en op te geven. De variabelen zelf kunnen dus lekker private zijn.

2)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
        return $this->Username;
        return $this->Database;
        return $this->Password;
        return $this->Host;
?>

Dit gaat zo nooit werken. "return" geeft de waarde van de variabele erachter terug aan de aanroepende functie en stopt daarna de executie van de functie. De eerste return zal dus de username teruggeven, de rest wordt niet uitgevoerd.
 
- SanThe -

- SanThe -

29/12/2011 13:53:14
Quote Anchor link
Joy brusselers op 29/12/2011 12:48:12:
Quote:
Access denied for user 'Hier me usernaam'@'hiermehost' (using password: YES)


Heb je die naam en password wel in je mysql server ingegeven?
 
 - Diov  -

- Diov -

29/12/2011 14:17:27
Quote Anchor link
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
<?
// Start je zelf ergens anders je sessies/cookies? Maak van de volgende twee regels dan commentaar (# of //)
session_start();
ob_start();

// Error reporting zetten we uit, het is niet echt netjes je bezoekers errors voor te schotelen
ERROR_REPORTING(0);

// MySQL
$db_host = "********";
$db_db = "******";
$db_user = "******";
$db_pass = "*********";

mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_db);

?>
 
Joy brusselers

joy brusselers

29/12/2011 14:34:42
Quote Anchor link
- SanThe - op 29/12/2011 13:53:14:
Joy brusselers op 29/12/2011 12:48:12:
Quote:
Access denied for user 'Hier me usernaam'@'hiermehost' (using password: YES)


Heb je die naam en password wel in je mysql server ingegeven?


Ja dit heb ik wel gedaan


Toevoeging op 29/12/2011 14:35:22:

Erwin H op 29/12/2011 13:05:59:
Het lost je probleem waarschijnlijk niet op... maar toch twee opmerkingen:
1)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    public $Username;
    public $Password;
    public $Database;
    public $Host;
?>

Deze hoeven natuurlijk niet public te zijn. Sterker, zou ik nooit doen. Je hebt een set en get methode waarmeee ze zijn uit te lezen en op te geven. De variabelen zelf kunnen dus lekker private zijn.

2)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
        return $this->Username;
        return $this->Database;
        return $this->Password;
        return $this->Host;
?>

Dit gaat zo nooit werken. "return" geeft de waarde van de variabele erachter terug aan de aanroepende functie en stopt daarna de executie van de functie. De eerste return zal dus de username teruggeven, de rest wordt niet uitgevoerd.




Dit werkt nooit zo ? of wel op deze manier maar niet bij deze toepassing ? zou je mischien een voorbeeld kunnen geven van hoe ongeveer wel .

Dankjewel voor je informatie
 
Wouter J

Wouter J

29/12/2011 14:35:22
Quote Anchor link
@Dem Ian, dit is dus geen goede code:
1) session_start() is nergens voor nodig
2) ob_start() niet gebruiken op deze manier, script gewoon goed
3) error_reporting met kleine letters, en we zijn in DEBUG mode dus altijd aan zetten.
4) is de connectie gelukt?
5) is de select_db gelukt?
6) Ik mis elke vorm van foutafhandeling

En daarnaast geeft dit totaal geen antwoord op de vraag en is dit waarschijnlijk een algemeen scriptje ergens van internet afgehaald. Je moet alleen antwoord geven als je zeker weet dat je antwoord geeft op de vraag en als je zeker weet dat de vraagsteller er wat aan heeft.
 
 - Diov  -

- Diov -

29/12/2011 14:37:37
Quote Anchor link
@ Wouter, bij mij werkt dit script en dat is het belangrijkste.
Ik heb nooit een fout of iets anders!
 
- SanThe -

- SanThe -

29/12/2011 14:38:14
Quote Anchor link
Staan mysql en apache wel op dezelfde server?

Toevoeging op 29/12/2011 14:39:47:

Dem Ian op 29/12/2011 14:37:37:
@ Wouter, bij mij werkt dit script en dat is het belangrijkste.
Ik heb nooit een fout of iets anders!


Luister naar Wouter. Het is goed bedoeld van je, maar je eigen topics wijzen er op dat je zelf nog zeer weinig snapt van php.
 
Joy brusselers

joy brusselers

29/12/2011 14:40:32
Quote Anchor link
- SanThe - op 29/12/2011 14:38:14:
Staan mysql en apache wel op dezelfde server?

Toevoeging op 29/12/2011 14:39:47:

Dem Ian op 29/12/2011 14:37:37:
@ Wouter, bij mij werkt dit script en dat is het belangrijkste.
Ik heb nooit een fout of iets anders!


Luister naar Wouter. Het is goed bedoeld van je, maar je eigen topics wijzen er op dat je zelf nog zeer weinig snapt van php.


ja dat ook
 
 - Diov  -

- Diov -

29/12/2011 14:42:43
Quote Anchor link
@ Joy, een database connectie kan ik wel maken hoor.

En ik heb niet veel ervaring met Php.
Ik ben er alleen mee bezig in de vakantie als ik tijd heb.
 
- SanThe -

- SanThe -

29/12/2011 14:43:44
Quote Anchor link
Tja.
Dan heb je misschien ergens tijdens het instellen van de naam en password in de mysql server een typo gemaakt ofzo. Stel mysql server naam en password eens opnieuw in en kijk dan of het inloggen via php misschien weer lukt.
 
Joy brusselers

joy brusselers

29/12/2011 14:43:49
Quote Anchor link
Dem Ian op 29/12/2011 14:42:43:
@ Joy, een database connectie kan ik wel maken hoor.

En ik heb niet veel ervaring met Php.
Ik ben er alleen mee bezig in de vakantie als ik tijd heb.


ok prima hoor , maar was eigenlijk meer een reactie op of apache op dezelfde server stond :)


Toevoeging op 29/12/2011 14:45:33:

- SanThe - op 29/12/2011 14:43:44:
Tja.
Dan heb je misschien ergens tijdens het instellen van de naam en password in de mysql server een typo gemaakt ofzo. Stel mysql server naam en password eens opnieuw in en kijk dan of het inloggen via php misschien weer lukt.


hier ben ik dus 2 dagen mee bezig geweest het instellen van het password username ect .
met 3 verschillende servers . en blijf deze melding krijgen .
ik zal toch maar weer eens alles na checken . maar er staat dus geen overduidenlijke fout in de code waardoor het fout kan gaan ?

Toevoeging op 29/12/2011 14:50:41:

Erwin H op 29/12/2011 13:05:59:
Het lost je probleem waarschijnlijk niet op... maar toch twee opmerkingen:
1)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    public $Username;
    public $Password;
    public $Database;
    public $Host;
?>

Deze hoeven natuurlijk niet public te zijn. Sterker, zou ik nooit doen. Je hebt een set en get methode waarmeee ze zijn uit te lezen en op te geven. De variabelen zelf kunnen dus lekker private zijn.

2)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
        return $this->Username;
        return $this->Database;
        return $this->Password;
        return $this->Host;
?>

Dit gaat zo nooit werken. "return" geeft de waarde van de variabele erachter terug aan de aanroepende functie en stopt daarna de executie van de functie. De eerste return zal dus de username teruggeven, de rest wordt niet uitgevoerd.




Toch krijg ik wel waarde terug als ik ze echo
 
- SanThe -

- SanThe -

29/12/2011 14:51:51
Quote Anchor link
Over jouw bovenstaande code kan ik niks zeggen, ik heb geen ervaring met classes.
 
Wouter J

Wouter J

29/12/2011 15:08:32
Quote Anchor link
Job Brusselers:
Toch krijg ik wel waarde terug als ik ze echo

Ja, je krijgt alleen $this->Username terug. Want na 1 return wordt de executie gestopt, dus PHP zal nooit de laatste 3 returns lezen.
Je kan het in een array zetten en die returnen, maar volgens OO regels kun je beter een getter per var maken of gebruik maken van de Magic Method _get:
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
    class Database
    {
      protected $host;
      protected $user;
      protected $pass;
      protected $table;
      
      protected $db;
      
      public function __construct( $host, $user, $pass, $table )
      {

        $this->host = (string) $host;
        $this->user = (string) $user;
        $this->pass = (string) $pass;
        $this->table = (string) $table;
        
        $this->db = mysql_connect($host, $user, $pass);
        if( $this->db === false )
        {

          throw new Exception("We couldn't connect to a server");
        }

        else
        {
          if( mysql_select_db($table, $this->db) === false )
          {

            throw new Exception("We couldn't select a database");
          }
        }
      }

      
      // Voor elke propertie een getter
      public function getUser()
      {

        return $this->user;
      }

      public function getPass()
      {

        return $this->pass;
      }

      // ect....
      
      // Een array returnen

      public function getData()
      {

        $data = Array(
          [
'host'] => $this->host,
          [
'user'] => $this->user,
          [
'pass'] => $this->pass,
          [
'table'] => $this->table
        );
        return $data;
      }

      
      // Magic Method __get
      public function __get( $varName )
      {

        return $this->$varName;
      }
    }

    
    try
    {
      $db = new Database('localhost', 'username', 'password', 'Tabelnaam');
      
      echo $db->getUser(); // 'username'
      echo $db->getData(); // Array( [host] => 'localhost', [user] => 'username', [pass] => 'password', [table] => 'Tabelnaam' );
      echo $db->user; // 'username' (de Magic Method __get wordt aangeroepen)
    }
    catch( Exception $e )
    {

      echo 'Er is een fout opgetreden: '.$e->getMessage;
    }

?>
Gewijzigd op 29/12/2011 15:09:25 door Wouter J
 
Erwin H

Erwin H

29/12/2011 15:41:14
Quote Anchor link
Joy brusselers op 29/12/2011 14:43:49:
Toch krijg ik wel waarde terug als ik ze echo

Right.... alle vier wil je beweren? Zoals ik zei (en bevestigd door Wouter), je krijgt de eerste terug, maar niet alle vier. Ga maar eens proberen.
 
Aad B

Aad B

29/12/2011 16:33:03
Quote Anchor link
Access denied for user 'Hier me usernaam'@'hiermehost' (using password: YES)
Wat heb je gedaan om 'Hier me usernaam' te autoriseren op MySQL op host 'hiermehost'??
De melding Access denied is duidelijk, je moet deze user nog even access granten. Hoe moeilijk kan het zijn? ik heb daarbij alle mogenlijke soorten passworden en hosten gebruikt Is trial-on-error gedoe en lost niks op...
 
Joy brusselers

joy brusselers

30/12/2011 11:48:36
Quote Anchor link
Dankzij wouter j ben ik nu verder , alleen krijg nu een andere error . denk dat het aan de server ligt ...

Quote:
Lost connection to MySQL server during query




Hier nogmaals de code

Quote:
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<?php
//Msql


class database {
    
    
    //Define objcets
    private $Username;
    private $Password;
    private $Database;
    private $Host;
    
    
    // Functions
    
    //Connect

    
    public function Connect($Username,$Password,$Database,$Host){
        // setters
        
        $this->Username = $Username;
        $this->Password = $Password;
        $this->Database = $Database;
        $this->Host = $Host;
        
        // Connect to database with user defined propertys
        $Mysql_check = mysql_connect($this->Host,$this->Username,$this->Password);
        // Select the database
        
        if(!$Mysql_check){
            
            die(mysql_error());
            
        }
        
        
        @
mysql_select_db($this->Database,$Mysql_check) or die("Unable to select ".$this->Database."");
        
        mysql_close();
        
        
        
    }

    
    // Get information from database
    public function Getinformation(){
        
        // Select table
            $result = mysql_query("SELECT naam,leeftijd FROM showpost ");
             if(!$result){
                
                echo 'Could not run query: ' . mysql_error();
                exit;
                
            }

            
                $ROW = mysql_fetch_assoc($result);
                
                   echo $ROW['naam'];
                echo $ROW['leeftijd'];
    }

    
    

    
    // single getters
    public function GetUsername(){
        
        return $this->Username;
    
        
        }

        
        public function GetPassword(){
        
        return $this->Password;
    
        
        }

        
        
        public function GetDatabase(){
        
        return $this->Database;
    
        
        }

        
        public function GetHost(){
        
        return $this->Host;
    
        
        }
        
        
    
    
}

// Show post
class Showpost {
    
    // define objects
    public $Cname;
    public $Idatum;
    public $Cmessage;
    
    
        // Functions
        public function Show() {
            
         // Opzet van de post laten zien    
        }

        // Setdata
        
        public function __construct($Cname,$Idatum,$Cmessage) {
            
            // Declare
            $this->Cname = $Cname;
            $this->Idatum = $Idatum;
            $this->Cmessage = $Cmessage;    
            
            
        }

    
        // Getdate
        
        public function GetCname(){
            
            // Return data
            
            return $this->Cname;
        
            
        }

        
    
    public function GetIdatum(){
            
            // Return data
            
            return $this->Idatum;
        
            
        }

    
    
    public function GetCmessage(){
            
            // Return data
            
            return $this->Cmessage;
        
            
        }
    

}










$Database = new database();

// user passs database host
$Database->Connect('test','test','test','test');
$Database->Getinformation();





?>
Gewijzigd op 30/12/2011 11:49:36 door joy brusselers
 
Wouter J

Wouter J

30/12/2011 11:54:09
Quote Anchor link
Haal je inlog gegevens weg en verander die, want het staat nu al een tijdje op het internet

Gebruik nooit echo's in functies (behalve in view functies). Altijd return want een functie bepaald niet hoe het resultaat getoond wordt, dat bepaald de view functie.
Gebruik geen die of exit, maar handel het script netjes af. Of zoals onze beste man Karl altijd zei: 'Jij gaat ook niet dood als je een fout maakt.'

Haal ook even die foutonderdrukking weg (alle @)

Je maakt in de Connect functie connectie en meteen daarna gebruik je mysql_close, wat klopt daar niet aan? Tevens is mysql_close onzinnig en hoef je het nooit te gebruiken.
 
Joy brusselers

joy brusselers

30/12/2011 11:59:38
Quote Anchor link
dankje , ja had meteen de login gegevens gezien en verwijderd
 



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.