MySQL Verbindung geht bei Aktualisierung der Seite verloren
Hallo zusammen
Ich habe ein sehr kurioses Problem.
Ich habe eine .php-Seite, welche in die Hauptseite included wird. Auf der Seite kann ich einen neuen Computer anlegen (sprich: PC-Name, Serien-Nr. User etc. in ein Formular eintragen). Zudem wird die Seite auch verwendet, um vorhandene Daten eines PCs zu verändern -> die Seite wird geöffnet, über eine GET- Variable wird die PC-ID übergeben und somit alle Daten aus der Datenbank gelesen und wieder ins entsprechende Formular eingetragen.
Die Verbindung zum MySQL Server wird über eine Funktion gelöst. Ich rufe die Funktion auf und gebe
Zu unterst auf der Seite wird dann die SQL Verbindung wieder mit
Das mache ich auf allen Seiten so und es funktioniert einwandfrei.
Nur auf dieser Seite, auf der ich die PCs eintragen und bearbeiten kann, kommt mir seit neustem bei jeder Aktion (Button, POST) folgende Fehlermeldung:
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in E:\web\Apache\htdocs\hardwaredb\database\inc_client_new.php on line 260
Warning: mysql_close(): 16 is not a valid MySQL-Link resource
Zuerst trat das Problem nur auf, als ich einen bearbeiteten Computer speicherte und die Daten dann zur Kontrolle wieder ins Formular geladen werden. Jetzt tritt das Problem aber bei jedem Klick auf einen Button auf.
Ich kann mir nicht erklären, wieso ich die Verbindung zum SQL Server verliere. Die Verbindung wird immer schön geöffnet und getrennt…
Hat jemand eine Idee??
Thx and greezz
marco
Ich habe ein sehr kurioses Problem.
Ich habe eine .php-Seite, welche in die Hauptseite included wird. Auf der Seite kann ich einen neuen Computer anlegen (sprich: PC-Name, Serien-Nr. User etc. in ein Formular eintragen). Zudem wird die Seite auch verwendet, um vorhandene Daten eines PCs zu verändern -> die Seite wird geöffnet, über eine GET- Variable wird die PC-ID übergeben und somit alle Daten aus der Datenbank gelesen und wieder ins entsprechende Formular eingetragen.
Die Verbindung zum MySQL Server wird über eine Funktion gelöst. Ich rufe die Funktion auf und gebe
@mysql_connect
via Return zurück und schreibe dies in eine Variable.$db_link = connect_db();
Zu unterst auf der Seite wird dann die SQL Verbindung wieder mit
mysql_close($db_link);
geschlossen.Das mache ich auf allen Seiten so und es funktioniert einwandfrei.
Nur auf dieser Seite, auf der ich die PCs eintragen und bearbeiten kann, kommt mir seit neustem bei jeder Aktion (Button, POST) folgende Fehlermeldung:
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in E:\web\Apache\htdocs\hardwaredb\database\inc_client_new.php on line 260
Warning: mysql_close(): 16 is not a valid MySQL-Link resource
Zuerst trat das Problem nur auf, als ich einen bearbeiteten Computer speicherte und die Daten dann zur Kontrolle wieder ins Formular geladen werden. Jetzt tritt das Problem aber bei jedem Klick auf einen Button auf.
Ich kann mir nicht erklären, wieso ich die Verbindung zum SQL Server verliere. Die Verbindung wird immer schön geöffnet und getrennt…
Hat jemand eine Idee??
Thx and greezz
marco
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 151509
Url: https://administrator.de/contentid/151509
Ausgedruckt am: 19.11.2024 um 17:11 Uhr
9 Kommentare
Neuester Kommentar
Das '@' unterdrückt ggf. eine Fehlermeldung die Du sehen solltest.
Mit der if Bedingung wird geprüft ob auch ein Link/Handle/Objekt zurückgegeben wird. (oder NULL/false wenn ein Fehler aufgetreten ist )
Also: wenn die Verbindung aufgebaut wurde - und beim schließen der Verbindung am ende des Scripts die Meldung kommt: Verbindung existiert nicht (mehr) ... dann scheint die Verbindung schon geschlossen worden zu sein. Also stimmt im Ablauf deines Scripts etwas nicht.
Verfolge mal die Variable $db_link - ggf. wird diese überschrieben oder die Verbindung vorher schon geschlossen.
Mit der if Bedingung wird geprüft ob auch ein Link/Handle/Objekt zurückgegeben wird. (oder NULL/false wenn ein Fehler aufgetreten ist )
Also: wenn die Verbindung aufgebaut wurde - und beim schließen der Verbindung am ende des Scripts die Meldung kommt: Verbindung existiert nicht (mehr) ... dann scheint die Verbindung schon geschlossen worden zu sein. Also stimmt im Ablauf deines Scripts etwas nicht.
Verfolge mal die Variable $db_link - ggf. wird diese überschrieben oder die Verbindung vorher schon geschlossen.
Da fällt mir noch was ein - mysql_connect( *** ) hat noch ein Booleschen Zusatz Parameter - welcher den Aufbau einer neuen Verbindung erzwingt.
Lässt man den Parameter weg wird ggf. eine schon existierende Verbindung zurückgeliefert. (oder die alte Verbindung getrennt ?) - bin mir bei den alten Funktionen nicht ganz sicher.
d.h. Wenn Du eine 2. Verbindung aufbaust und diese wieder schließt - könnte dadurch die 1. auch mit geschlossen werden, da es sich um die selbe Ressource handelt.
Ich benutze schon seit geraumer Zeit nur noch PDO, da es viel Arbeit abnimmt und auch besser in das OOP passt.
Lässt man den Parameter weg wird ggf. eine schon existierende Verbindung zurückgeliefert. (oder die alte Verbindung getrennt ?) - bin mir bei den alten Funktionen nicht ganz sicher.
d.h. Wenn Du eine 2. Verbindung aufbaust und diese wieder schließt - könnte dadurch die 1. auch mit geschlossen werden, da es sich um die selbe Ressource handelt.
Ich benutze schon seit geraumer Zeit nur noch PDO, da es viel Arbeit abnimmt und auch besser in das OOP passt.