Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

MySQL Verbindung geht bei Aktualisierung der Seite verloren

Frage Entwicklung PHP

Mitglied: marco1234

marco1234 (Level 1) - Jetzt verbinden

22.09.2010 um 09:53 Uhr, 3340 Aufrufe, 9 Kommentare

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 @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
Mitglied: nxclass
22.09.2010 um 12:07 Uhr
.. evtl. nimmst Du mal das '@' vor mysql_connect() weg.

Die Verbindung wird immer schön geöffnet und getrennt…
dann:
01.
if ( $db_link = mysql_connect( *** ) ) { 
02.
    *** 
03.
    mysql_close($db_link); 
04.
}
user 'ODBC'@'localhost'
das sieht irgendwie falsch aus - prüfe mal dein Login / Passwort für die Datenbank
Bitte warten ..
Mitglied: marco1234
22.09.2010 um 13:07 Uhr
auch ohne @ funktioniert es nicht... :-S

Login und Username sind 1000% richtig! Es arbeiten noch ca. 20 andere Seiten ohne Probleme mit dieser Funktion.
Bitte warten ..
Mitglied: godlie
22.09.2010 um 16:15 Uhr
Hallo,

wofür immer eine neue Connection aufmachen?
Da du ja sagst, dass du die seite includest, kann diese ja auch auf die variablen der zugreifenden zugreifen.
Ich würd nur in der Seite die alle included die Connection öffnen und dort auch wieder schliesen.
Bitte warten ..
Mitglied: marco1234
22.09.2010 um 16:55 Uhr
Habe alle rausgelöscht. Jetzt wird nur noch in der index.php die Funktion aufgerufen. Auf der PC-Seite funktioniert trotz dem noch nichts. Auf der Index Seite steht jetzt aber zu unterst auch eine Fehlermeldung.

Warning: mysql_close(): 6 is not a valid MySQL-Link resource in E:\web\Apache........."
Bitte warten ..
Mitglied: nxclass
22.09.2010 um 19:47 Uhr
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.
Bitte warten ..
Mitglied: dog
22.09.2010 um 21:02 Uhr
Du treibst hier grade ein Ratespiel mit uns:
"Ich hab in meinem Code eine Bombe vergraben, aber ich sage euch nicht wo."

Sorry, aber ohne Code posten geht es nicht - oder du nimmst dir XDebug und suchst selbst...
Bitte warten ..
Mitglied: marco1234
23.09.2010 um 07:41 Uhr
@nxclass
Ja, ich bekomme ja eine Resource id zurück. Ich habe mit der Suchfunktion von Dreamweaver alle Files nach $db_link durchsucht und alle unnötigen, zusätzlichen Verbindungen rausgelöscht. Sieht bis jetzt wieder gut aus.

@dog
ja ich weiss, ist ein bisschen doof. Aber ich kann nicht von über 50 .php Dateien den Code hier posten. Und nur schon von der index.php Datei und der inc_client_new.php-Datei gäbe es über 1000 Zeilen xD
Bitte warten ..
Mitglied: nxclass
23.09.2010 um 08:21 Uhr
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.
Bitte warten ..
Mitglied: marco1234
24.09.2010 um 07:59 Uhr
Ja, dass könnte durchaus sein. Wobei es komisch ist, dass das Problem nur bei einer bestimmten .php-Seite aufgetreten ist und bei allen andern alles ohne Probleme (mit $db_link close) lief...
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Verbindung zu bestimmter externer Adresse geht nicht (13)

Frage von sokraTonis zum Thema Windows Server ...

Notebook & Zubehör
gelöst Notebook Verbindung zum Router geht, aber kein Internet (7)

Frage von Headhunter4711 zum Thema Notebook & Zubehör ...

LAN, WAN, Wireless
VPN Tunel geht verloren nach VM Switching (5)

Frage von staybb zum Thema LAN, WAN, Wireless ...

Apache Server
Joomla - Aktualisierung über das Backend möglich? (3)

Frage von FA-jka zum Thema Apache Server ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...

Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (13)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Microsoft Office
gelöst Office 365 Pro Domäne einrichten OHNE Webseite (9)

Frage von thklemm zum Thema Microsoft Office ...

Server-Hardware
HP ProLiant DL380 G7, POST Error: 1785-Drive Array not Configured (8)

Frage von Paderman zum Thema Server-Hardware ...