WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- MySQL-Verbindung beenden, notwendig?

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » MySQL-Verbindung beenden, notwendig? - 22 Dez 2024 Antworten
im Forum für Webhosting Homepage gefunden:
MySQL-Verbindung beenden, notwendig?
FrediL
Fachidiot
Threadstarter




Beiträge: 101

Hallo!

Ich habe in letzter Zeit eine PHP Scripte geschrieben, die auf MySQL zugreifen. Da ich in beiderlei hinsicht noch Anfänger bin, frage ich mich in letzter Zeit, ob man diese Verbindungen eigentlich auch wieder schließen muss. Oder ob man da sonst irgendwas noch machen muss. Cach löschen oder so.

Anlass der Fragen sind häufige Aussetzer in letzter Zeit bei Anfragen an den Server.
Als Antwort kommt da oftmals: "Lost connection to MySQL server during query"

Woran kann das liegen?
Vielen Dank im Voraus
FrediL

---
ergebniswelt.com -> Fußballergebnisse und mehr

  Profil   Website   Editieren   Zitieren
Marcus
Forenheld




Beiträge: 880

keine Ahnung ob dir das weiterhiilft, hab mal auf die schnelle Google bemüht:

The only thing I was able to find was a very long bugzilla thread regarding this problem under RedHat. Seems there is a bad glibc that causes this problem.

There were certain update fixes that needed careful following. If this is your case, check out this link: [1]

Seems the quickest temporary fix was to add the host name to your /ect/hosts file so that mysql doesn't try to use DNS to resolve the host name to ip. Otherwise it always works if the host name was 127.0.0.1.


[1]: http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=76631


bzw.


It is possible that some query exceeds the max_allowed_packet size.
This variable is changeable via mysqld options, see mysqld --help.
If increasing this variable doesn`t help, then you should
examine the log files of MySQL and include information from
there to your mail. Can you provide us any more information,
for example, what kind of query was made if any when the server
went down?

Please see

http://www.mysql.com/Manual_chapter/manual_Questions.html#Bug_reports
and
http://www.mysql.com/Manual_chapter/manual_Porting.html#Debugging_server

for more information


Gruß

Marcus

Diese Nachricht wurde geändert von: Marcus
  Profil   E-Mail   Editieren   Zitieren
Can
Halbgott




Beiträge: 1324

Man muss sie nicht schließen, normale Verbindungen werden nach der Ausführung des Script wieder beendet. Ich würd allerdings sagen, dass es besserer Stil ist, sie im Script zu beenden. Aber nötig ist es nicht...

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren
FrediL
Fachidiot
Threadstarter




Beiträge: 101

Otherwise it always works if the host name was 127.0.0.1.


Also kann es durchaus daran liegen, dass die PHP-Anfragen von einem anderen Server (1&1) kommen? Denn die Datenbank ist bei hosteurope.

---
ergebniswelt.com -> Fußballergebnisse und mehr

  Profil   Website   Editieren   Zitieren
Marcus
Forenheld




Beiträge: 880

Das könnt sein. Aber andererseits scheints ja ab und zu zu funktionieren.

  Profil   E-Mail   Editieren   Zitieren
NetDrag
Foren-Team




Beiträge: 442

Das mysql connect schließt die verbindung zur Datenbank und gibt ressourcen frei. Es ist also nicht nur besserer Stil.

Dein Problem scheint eher in der Verbindung zum Server zu liegen als in PHP. Wie schaut denn das Verbindungs-PHP-Script aus?

---
We are born wet, naked and hungry, then things got worse!

  Profil   Website   Editieren   Zitieren
FrediL
Fachidiot
Threadstarter




Beiträge: 101

Also wenn du den Teil meinst, mit dem ich die Daten abfrage, der sieht so aus wie immer. Da hatte ich eigentlich noch nie Probleme mit. Aber ich poste Ihn natürlich gerne einmal und bin offen für Verbesserungsvorschläge:

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:
//content auswählen bzw. zuweisen
if(!isset($content))
$content = "0";
else $content = $_GET["content"];


//datenbank-verbindung auswählen
$db_connection = mysql_connect('server002.webpack.hosteurope.de','[i]user[/i]','[i]passwort[/i]') or die(mysql_error());
mysql_select_db("[i]datenbank[/i]", $db_connection);

//content auswählen
$query_axel_enke_content = "SELECT nummer, titel, text FROM axel_enke_content WHERE nummer='$content' AND online='ja' LIMIT 1";
$result_axel_enke_content = mysql_query($query_axel_enke_content, $db_connection) or die(mysql_error());

//axel_enke_linklist auswählen
$query_axel_enke_linklist = "SELECT schluesselwoerter, link, art FROM axel_enke_linklist";
$result_axel_enke_linklist = mysql_query($query_axel_enke_linklist, $db_connection) or die(mysql_error());


//content abfragen
$row = mysql_fetch_assoc($result_axel_enke_content);
$text = $row["text"];
$titel = $row["titel"];

//umlaute umformen
$text = htmlentities($text);

//daten abfragen und mit axel_enke_content vergleichen
while ($db_link = mysql_fetch_array($result_axel_enke_linklist)) {
if ($db_link['art'] == 'intern'){
$schluesselwort = $db_link['schluesselwoerter'];
$schluesselwort = htmlentities($schluesselwort);
$text = str_replace($schluesselwort,''.$schluesselwort.'',$text);
}
else {
$schluesselwort = $db_link['schluesselwoerter'];
$schluesselwort = htmlentities($schluesselwort);
$text = str_replace($schluesselwort,''.$schluesselwort.'',$text);
}
}


//text auf ubb-code überprüfen
$x1=$text; 
$x2=""; 

while($x1!=$x2){
$x2=$x1;
$x1=preg_replace("/\[([bui])\](.+)\[\/\\1\]/iU","<$1>$2",$x1);
} 

$text = $x1;


//daten ausgeben
echo nl2br($text);


Ich denke eigentlich auch nicht, dass bei den Anfragen zu viele Daten gesendet werden. Das ist nur ein kurzer Text und einige Wörter, die überprüft werden und ggf. durch Links ersetzt werden.

Ist da vielleicht irgendwo ein Fehler in dem Code?

Vielen Dank im Voraus
FrediL

---
ergebniswelt.com -> Fußballergebnisse und mehr

  Profil   Website   Editieren   Zitieren
Can
Halbgott




Beiträge: 1324

NetDrag schrieb am 22.06.2003 13:56
Das mysql connect schließt die verbindung zur Datenbank und gibt ressourcen frei. Es ist also nicht nur besserer Stil.


mysql_connect schließt keine Verbindung zur Datenbank, sondern stellt eine her. Geschlossen wird sie mit mysql_close bzw. nach der Ausführung des Scripts!

Can

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren
Philipp Gérard
Foren-Team




Beiträge: 1502

mysql_close wird automatisch nach beendigung des Scripts ausgeführt, da die DB-Verbindung - es sei denn, man verbindet via mysql_pconnect - am Ende des Scripts immer geschlossen wird. Das ist aber kein Argument gegen guten Sourcecode - mit mysql_close!

---
Arbeit ist das Feuer der Gestaltung. - Marx

  Profil   E-Mail   Website   Editieren   Zitieren
Can
Halbgott




Beiträge: 1324

Hab ich das nicht gesagt?

Wofür verwendet man eigentlich mysql_pconnect? Habe das in meinem Chat mal verwendet, damit ich nicht immer wieder öffnen muss, nur irgendwie kam es dann zu tausenden öffenen MySQL-Prozessen

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren
NetDrag
Foren-Team




Beiträge: 442

Can schrieb am 22.06.2003 14:51
NetDrag schrieb am 22.06.2003 13:56
Das mysql connect schließt die verbindung zur Datenbank und gibt ressourcen frei. Es ist also nicht nur besserer Stil.


mysql_connect schließt keine Verbindung zur Datenbank, sondern stellt eine her. Geschlossen wird sie mit mysql_close bzw. nach der Ausführung des Scripts!

Can



Ja sorry Mysql close natürlich. Flüchtigkeitsfehler.
Klar wird mysql_close nach dem Skript ausgeführt nur je früher das passiert desto besser.

pconnect läßt die Verbindung am Leben. Nur muß die nachher auch wieder aufgefangen werden. Allerdings gibts da bessere externe Lösungen wie z.B. sqlrelay

---
We are born wet, naked and hungry, then things got worse!

  Profil   Website   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » MySQL-Verbindung beenden, notwendig?

Aktuelle Beiträge zur Hilfe im Forum für Homepage - MySQL-Verbindung beenden, notwendig? im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8143552    Heute : 46     Gestern : 729     Online : 178     22.12.2024    2:57      1 Besucher in den letzten 60 Sekunden        
alle 60.00 Sekunden ein neuer Besucher
Nach oben