php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.04.2006, 23:38  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard Fehlermeldung .. 'ODBC'@'localhost' .. usw

Hallo,
Ich bekomme nach dem Einsatz von mysql_real_escape_string() folgenden Fehler :

Code:
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO)
Kann das nicht ganz verstehen, weil ja MySQL und nicht ODBC benutzt wird.

Wie kann ich den Fehler beseitigen?
Irgend eine Einstellung in der Apache-config ?


Ich benutze zum testen der Skripte XAMMP mit php5 und MySql 5
http://de2.php.net/mysql_real_escape_string
__________________
Alpha Centauri ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.04.2006, 00:12  
Gast
 
Beiträge: n/a
Standard

Wie sieht das dazugehörige mysql_connect aus?
 
Alt 13.04.2006, 00:32  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

Connection wird über eine Klasse aufgebaut.
http://www.technikbase.de/index.php?...e=mysql_klasse
.. hab mal den relavanten Teil hier aufgelistet ..

PHP-Code:
$host 'localhost'
$db 'test'
$user 'root'
$pw '*****'
mysql_connect($host$user$pw
Die Probleme treten nur mit mysql_real_escape_string() auf. Zumindest bisher.
__________________
Alpha Centauri ist offline  
Alt 13.04.2006, 01:23  
Gast
 
Beiträge: n/a
Standard

Die angegebene Klasse zeigt nach aussen hin keine Meldungen bei Verbindungsproblemen. Das ist einfach nur Schrott.
Versuch es mal mit
PHP-Code:
public function Connect($host 'localhost',$db '',$user 'root',$pw '',$n 1,$time 1)
{
    
$this->connection=@mysql_connect($host$user$pw);
    if (
false===$this->connection)
        throw new 
Exception(mysql_error());
    if (
false===@mysql_select_db($db$this->connection))
        throw new 
Exception(mysql_error());

Das macht die Klasse auch nicht gut, aber wenigstens siehst Du dann mal, was passiert.
 
Alt 13.04.2006, 01:43  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

Daran solls nicht scheitern. Die Klasse wird nicht aufgerufen, weil die Fehlermeldung noch während des Querystrings auftritt, also bevor die Klasse mit der Querymethode in Aktion tritt.

Ich habe mal die Fehlerbehandlung mit or die(mysql_error()) eingefügt, allerdings ohne Ergebnis, also ohne Fehlermeldung.
__________________
Alpha Centauri ist offline  
Alt 13.04.2006, 01:58  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Alpha Centauri
Ich habe mal die Fehlerbehandlung mit or die(mysql_error()) eingefügt, allerdings ohne Ergebnis, also ohne Fehlermeldung.
Das kann eigentlich nicht sein, da mysql_real_escape_string() sonst auf die
bestehende Datenbankverbindung zugreifen und nicht versuchen würde, eine
eigene Verbindung aufzubauen.

Prüfe also noch einmal, ob die Verbindung zur Datenbank definitiv erfolgreich
war. Testweise kannst Du auch versuchen, die Verbindungsressource der
Funktion mysql_real_escape_string() als zweiten Parameter mit auf den Weg
zu geben.
 
Alt 13.04.2006, 02:11  
Gast
 
Beiträge: n/a
Standard

http://de2.php.net/manual/en/functio...ape-string.php
Zitat:
string mysql_real_escape_string ( string unescaped_string [, resource link_identifier] )
[...]
link_identifier
The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.
Und wenn nichts naderes eingestellt ist, bewirkt "as if mysql_connect() was called with no arguments" unter win32 ein Verbindungsaufbau als Benutzer ODBC. Und wenn dafür kein Zugang eingerichtet ist, gibt es obige Fehlermeldung.
Deshlab kann ich zu
Zitat:
Die Klasse wird nicht aufgerufen, weil die Fehlermeldung noch während des Querystrings auftritt, also bevor die Klasse mit der Querymethode in Aktion tritt.
nur sagen: eben. Und eben nicht nur das, sondern es wird auch keine Verbindung zum mysql Server aufgebaut; selbst schuld.
 
Alt 13.04.2006, 02:16  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Bruchpilot
Zitat:
Die Klasse wird nicht aufgerufen, weil die Fehlermeldung noch während des Querystrings auftritt, also bevor die Klasse mit der Querymethode in Aktion tritt.
Den Satz hab ich doch glatt überlesen...
 
Alt 14.04.2006, 00:30  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

OK!

Hab mal genauer nachgelesen. Das Problem ist, dass meine Verbindungskennung erst in der MySQL-Klasse vergeben wird, ich aber den Querystring vorher zusammenbaue.

Ich kann mit mysql_escape_string() das Problem umgehen. Das Problem ist für mich damit gelöst.
__________________
Alpha Centauri ist offline  
Alt 14.04.2006, 01:37  
Gast
 
Beiträge: n/a
Standard

Warum läßt Du die Verbindung nicht vorher erstellen?
Oder ist die Methode Connect nur zum Platz verschwenden in der Datei?


Zitat:
Zitat von http://de3.php.net/mysql_escape_string
4.3.0 This function became deprecated, do not use this function. Instead, use mysql_real_escape_string().
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehlermeldung umbenennen Soese PHP Tipps 2007 3 13.03.2007 13:33
script läuft und funktioniert gibt aber fehlermeldung aus? Promaetheus PHP Tipps 2006 5 12.09.2006 23:42
permanente Fehlermeldung beim cron schiff PHP Tipps 2006 4 29.08.2006 13:54
Warum Fehlermeldung? winki PHP Tipps 2006 8 20.08.2006 11:32
Kann keine Session auslesen und habe keine Fehlermeldung Klaus Server, Hosting und Workstations 7 26.05.2006 12:31
Fehlermeldung PHP Tipps 2005-2 2 04.09.2005 04:04
Ich will Fehlermeldung vermeiden. Zero.exe PHP Tipps 2005-2 2 02.08.2005 13:11
Fehlermeldung: Warning: getimagesize ... failed to open DDogg PHP Tipps 2005-2 2 30.06.2005 11:13
[Erledigt] Access denied for user: 'ODBC@localhost' Datenbanken 2 25.06.2005 23:42
fragwürdige Fehlermeldung PHP Tipps 2005 5 19.05.2005 15:45
Fehlermeldung PHP Tipps 2005 4 14.05.2005 09:36
[Erledigt] Fehlermeldung unterdrücken wenn keine variable übergeben... PHP Tipps 2005 6 20.03.2005 13:36
Schon wieder-ein funktionierender Counter mit Fehlermeldung PHP Tipps 2005 2 15.03.2005 18:34
Script bei Strato mit Fehlermeldung, bei Netbeat ok PHP Tipps 2004-2 14 08.12.2004 11:08
Eine mir unbekannte Fehlermeldung TheSkaterFriend PHP-Fortgeschrittene 3 08.09.2004 15:08

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
warning: mysql_real_escape_string() [function.mysql-real-escape-string]: access denied for user \'odbc\'@\'localhost\', odbc\'@\'localhost\' anlegen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.