Ist es möglich eine mySQL-Query als globale Variable zu deklarieren um diese dann an verschiedenen Stellen zu nutzen und so queries einzusparen?
							
						
					mysql_query als globale Variable?
				
					Collapse
				
			
		
	X
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Du meinst die Resource die du zurückgegeben bekommst? Klar.
 
 Schau dir mal $GLOBALS an.Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten: 
 var_dump(), print_r(), debug_backtrace und echo.
 Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
 Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!  
 Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Aber wieso sollte dies helfen Queries einzusparen Ob die Var global ist oder nicht ändert doch nix daran wieoft mysql_query() aufgerufen wird Ob die Var global ist oder nicht ändert doch nix daran wieoft mysql_query() aufgerufen wird
 
 Gruss
 
 tobiGutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten
 
 [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
 Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 So - ich habe das jetzt ausprobiert und es funktioniert nur für einen abruf.
 
 ich hatte mir das folgender massen gedacht:
 
 Datei Kopf:
 Stelle 1 in Datei:PHP Code:$test_sql = FetchSQL("SELECT category_title, category_id, category_parent FROM ".$config['db_pref']."categories
 WHERE category_active=1 ORDER BY category_parent, category_order ASC");
 
 
 Stelle 2 in der Datei:PHP Code:while($row = mysql_fetch_array($GLOBALS["test_sql"])) {
 if ($row['category_parent'] == 1) {
 array_push($genres, $row['category_title']);
 } else {}
 }
 
 
 Aber dann muss ich die Query wohl schon im Datei Kopf auswerten und die Daten dann Global weitergeben oder mache ich irgendwas falsch?PHP Code:while($row = mysql_fetch_array($GLOBALS["test_rsql"])) {
 if ($row['category_parent'] > 1) {
 $category_title = ' — '.stripslashes($row['category_title']);
 } else {
 $category_title = ' - '.stripslashes($row['category_title']);
 }
 
 $category_id = $row['category_id'];
 if ($category_id == $category) {
 $category_list .= '<option value="' . $category_id . '" selected>' . $category_title . '</option>';
 } else {
 $category_list .= '<option value="' . $category_id . '">' . $category_title . '</option>';
 }
 }
 Last edited by HighPower; 21-02-2007, 18:26.
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Du berücksichtigst nicht, dass der "Zeiger" nach einmaligem Durchlaufen am Ende steht.Original geschrieben von HighPower
 oder mache ich irgendwas falsch?
 
 mysql_data_seekI don't believe in rebirth. Actually, I never did in my whole lives.
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Was gibt es denn bitte an
 nicht zu verstehen?mysql_data_seek() bewegt den internen Datensatz-Zeiger eines Anfrageergebnisses zum Datensatz mit der übergebenen Nummer. Der nächste Aufruf von mysql_fetch_row() liefert den entsprechenden Datensatz.
 
 Die Datensatznummer beginnt bei 0.
 
 Und was an den Regeln, wo steht dass du deinen Code bitte umbrechen sollst? Nachholen, Bitte.I don't believe in rebirth. Actually, I never did in my whole lives.
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Sorry wegen dem nicht umgebrochenem Code.
 
 Ich habe jetzt einfach
 
 hinter die beiden while schleifen gesetzt und jetzt funktioniert es auch alles. Dank - aber verstanden habe ich es trotzdem nicht warum es jetzt geht. Wäre echt dank bar wenn mir das jemand kurz erklären könnte...PHP Code:mysql_data_seek($core['sql_category_name'], 0);
 
 
 
 So und jetzt nochmal zu meiner eigentlichen frage: Spart dies nun queries ein oder nicht?
 
 Last edited by HighPower; 21-02-2007, 19:24.
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Wenn ich 300 Meter gehe und wieder von vorne anfangen will muss ich doch erstmal wieder zurück zum Start, oder?Original geschrieben von HighPower
 hinter die beiden while schleifen gesetzt und jetzt funktioniert es auch alles. Dank - aber verstanden habe ich es trotzdem nicht warum es jetzt geht. Wäre echt dank bar wenn mir das jemand kurz erklären könnte...
 
 JaSo und jetzt nochmal zu meiner eigentlichen frage: Spart dies nun queries ein oder nicht?
 Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!
 bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
 Wie man Fragen richtig stellt
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 oder les es doch 1x aus und pack es in ein Array und den definierst du dann als das was du willstKillerspiele sollten in der Größenordnung von Kinder********************grafie eingeordnet werden.(G. Beckstein)
 - ...und solche Behauptungen in "falsches Resourcenmanagement"
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Jacke wie Hose... die Datenbank kriegt den Query nur einmal ab, bei erster Variante liegt er dann direkt im Speicher der MySQL-Funktionen, weil es ein buffered Query ist, beim Speichern im Array halt dort im Speicher ... im Zweifelsfall würde ich jetzt sogar sagen, dass erste Variante schneller ist, aber das ist nur ne Vermutung~Original geschrieben von HighPower
 das habe ich jetzt auch so gemacht - dann muss ich die query nur einmal verarbeiten. danke nochmal!
 Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!
 bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
 Wie man Fragen richtig stellt
 Comment
 
          

Comment