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, 3312 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
Verbindung zu bestimmter externer Adresse geht nicht (12)

Frage von sokraTonis zum Thema Windows Server ...

Windows Server
RODC über VPN - Verbindung weg (9)

Frage von stefan2k1 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

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