php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.12.2011, 11:00  
Neuer Benutzer
 
Registriert seit: 09.11.2011
Beiträge: 9
PHP-Kenntnisse:
Fortgeschritten
silverstallion befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] mysqli_tread_id UND mysqli_connect WAS PASSIERT DA GENAU??

Servus leute Ich hab eine Frage bezüglich mysqli_connect und sein Verhalten auf mysqli_thread_id und umgekehrt:

bei mysqli_connect() wird ja die verbindung zur datenbank aufgebaut, wenn bereits verbindung offen wird die vorhandene verwenden. das habe ich aus dem manual raus. und mysqli_close() muss nicht verwendet werden da beim scriptende die verbindung sowieso geschlossen wird(laut manuel).
heißt das dass der gesamte script mit einer Thread_id auskommt ausser die verbinung wird vorzeitig geschlossen? (für mehrere querries wird nur eine Thread_id benutzt, richtig?)
wenn ja dann hab ich ein problem:
bei mir wird bei jeder query die thread_id neu bezogen, (wenn auf der seite 3 querries sind werden praktisch 3 verschieden threads bezogen), hängt es von befehlt mysqli_thread_id ab, dass es vielleicht bei jedem aufruf ne neue id bezieht oder vielleicht deswegen dass meine "sqltools" in einer klasse gepackt sind und der php dann deswegen die neuen threads bezieht weil wegen der classe die $conn immer neu definiert wird

die klasse:

protected $conH='xxxx';
protected $conU='xxxxx';
protected $conPW='xxxx';
protected $conDB='xxxx';
.....
private function connect_query($query){
$con =mysqli_connect($this->conH,$this->conU,$this->conPW,$this->conDB) ;
//echo mysqli_thread_id($con);

return mysqli_query($con,$query);


}

Bitte um Rat, würde mich echt interessieren der ganze Vorgang

danke im voraus
silverstallion ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 14.12.2011, 11:03  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

spielt es irgendeine Rolle, ob die Datenbank-Abfragen aus einem einzigen Thread erfolgen, oder aber aus 2 oder mehreren ?

es kann durchaus sein, dass mysqli_connect bei mehreren Aufrufen zwar die gleiche Verbindung zurückliefert - aber dabei jeweils eine eigene thread_id.

Da du die thread_id aber eigentlich nur zum zwischenzeitlichen Beenden der Verbindung mittels kill benutzen kannst, steht ja auch sinngemäß im Manual, dass du aus der Thread_id nicht allzuviel ableiten kannst.
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

Geändert von eagle275 (14.12.2011 um 11:10 Uhr).
eagle275 ist offline   Mit Zitat antworten
Alt 14.12.2011, 11:10  
Neuer Benutzer
 
Registriert seit: 09.11.2011
Beiträge: 9
PHP-Kenntnisse:
Fortgeschritten
silverstallion befindet sich auf einem aufstrebenden Ast
Standard

Das ist genau das was mir sorgen macht. ich weiß nicht ob es eine rolle spielt oder nicht, also meine vermutung wäre das bei neuem thread die datenbank mehr "stess" ausgesetzt ist, ist es so oder ist es bullshit?
silverstallion ist offline   Mit Zitat antworten
Alt 14.12.2011, 11:16  
Neuer Benutzer
 
Registriert seit: 09.11.2011
Beiträge: 9
PHP-Kenntnisse:
Fortgeschritten
silverstallion befindet sich auf einem aufstrebenden Ast
Standard

achsooo, jetzt komm ich langsam mit

DANKE!
silverstallion ist offline   Mit Zitat antworten
Alt 14.12.2011, 11:18  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

das hängt schon mal mindestens davon ab, ob du php als Apache-Modul oder aber per CGI / FastCGI einbindest - im Falle des Apache-Moduls erstellt halt jeder Aufruf eine neue Verbindung. Als CGI / FastCGI läuft PHP ja dauerhaft und demzufolge wäre eigentlich nicht jedesmal eine neue Verbindung nötig. Aber bei normaler Script-Programmierung mit PHP für Webserver spielt es wahrscheinlich sowieso keine Rolle. Die im Manual zu mysqli_thread_id aufgeführten Beispiele zeigen mir, dass es wohl auf die Verwendung mittels CLI (Konsole) vorgesehen ist. Nur dort rennt ein Script lang genug, dass man erwägen könnte die Verbindung nach der ersten Datenabfrage zu "pausieren" (dazu das mysqli_kill) und später wieder zu errichten (mittels ping ..steht alles auf der Manual-Seite)

In wiefern die Vergabe neuer Thread_ids jetzt arge Leistungsprobleme bereitet ... mach dir erstmal um die Gesamtperformance Gedanken, bevor du an einem kleinen Schräubchen Tagelang drehst, deren Auswirkungen wahrscheinlich noch unterhalb der Messtoleranz liegen
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Antwort


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

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysqli_connect klasse, mysqli_connect wie oft aufrufen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:07 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