Fout code met mysql
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)
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
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();
?>
//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();
?>
1)
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)
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.
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?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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);
?>
// 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);
?>
- SanThe - op 29/12/2011 13:53:14:
Heb je die naam en password wel in je mysql server ingegeven?
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)
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)
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.
1)
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)
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
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.
Ik heb nooit een fout of iets anders!
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!
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.
- SanThe - op 29/12/2011 14:38:14:
Staan mysql en apache wel op dezelfde server?
Toevoeging op 29/12/2011 14:39:47:
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.
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!
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
En ik heb niet veel ervaring met Php.
Ik ben er alleen mee bezig in de vakantie als ik tijd heb.
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.
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.
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.
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)
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)
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.
1)
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)
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
Over jouw bovenstaande code kan ik niks zeggen, ik heb geen ervaring met classes.
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)
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
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;
}
?>
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
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.
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...
Quote:
Lost connection to MySQL server during query
Hier nogmaals de code
Quote:
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
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
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();
?>
//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
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.
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.
dankje , ja had meteen de login gegevens gezien en verwijderd