php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.07.2010, 11:54  
Gesperrt
 
Registriert seit: 15.04.2010
Beiträge: 49
PHP-Kenntnisse:
Anfänger
juice122 ist in Verruf geraten
Standard Verständnisfrage mysql_store_result / mysql_free_result

Hey,

ich habe eine Verständnisfrage zu store und free_result.

Gerade wenn ich überprüfen möchte ob eine Line existiert verwende ich häufig ähnlichen Code wie diesen (bsp. sprachungebunden):

Code:
mysql_query(...)
mysql_store_result();
if(mysql_num_rows())
{
// ...
}
else
{
//...
}
mysql_free_result();
Meine Frage nun:

Wirkt es sich general negativ aus wenn ich in den in den einzelnen Bedingungssätzen weitere Queries ausführe?

Z.B.:

Code:
mysql_query(...)
mysql_store_result();
if(mysql_num_rows())
{
   mysql_query("INSERT INTO `whatever` (`id`) VALUES ('1');");
}
else
{
//...
}
mysql_free_result();

Oder: Wirkt es sich nur u.U. negativ aus, z.B. bei einem Query, das wiederum ein neues Result speichert:

Code:
mysql_query(...)
mysql_store_result();
if(mysql_num_rows())
{
   mysql_query("SELECT * FROM `whatever`;");
   mysql_store_result();
   // ...
   mysql_free_result();
}
else
{
//...
}
mysql_free_result();
Unteres Bsp. müsste mmN Probleme erzeugen, da vor dem nä. free ein weiteres store stattfindet. Ist das korrekt?

Vielen Dank und Grüße!
juice122 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 28.07.2010, 12:54  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Nein hast Du nicht. mysql_free_result erwartetet eine Ergbniskennung.
Zitat:
bool mysql_free_result ( resource $Ergebnis-Kennung )
mysql_store_result kenne ich nicht.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 28.07.2010, 13:23  
Gesperrt
 
Registriert seit: 15.04.2010
Beiträge: 49
PHP-Kenntnisse:
Anfänger
juice122 ist in Verruf geraten
Standard

Sorry, bin hier etw. unerfahren und hab eben erst gelesen, dass es sich in meinen Fällen um Anwendungen von c++ plugins von MySQL C API handelt.

MySQL :: MySQL 5.0 Reference Manual :: 20.8 MySQL C API

store_result():

MySQL :: MySQL 5.0 Reference Manual :: 20.8.3.69 mysql_store_result()

Dann denke ich auch single-threaded (?), da (in meinen Fall) keine Parameter übergeben werden (vll. ein default aber der ändert sich ja nicht)...
juice122 ist offline   Mit Zitat antworten
Alt 28.07.2010, 23:04  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Was hast du mit den Aufrufen denn vor? Wenn deine Ergebnismengen nicht riesig sind, brauchst du free_result eh nicht aufrufen.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 31.07.2010, 13:14  
Gesperrt
 
Registriert seit: 15.04.2010
Beiträge: 49
PHP-Kenntnisse:
Anfänger
juice122 ist in Verruf geraten
Standard

Wenn ich free_result nicht zu jedem store_result aufrufe passiert es schnell, dass ein "Commands out of sync; you can't run this command now" auftritt. Ich verarbeite die results (bei den select queries) einfach und speichere sie in Variablen.

Dennoch, die Frage bleibt wie oben bestehen... hat jmd ne Idee?
juice122 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
mysql_store_result, php mysql_store_result, mysql_store_result(), mysql_store_result php, mysql_free_result php, mysql_store_result c, php mysql_free_result, mysql, php mysql_store_result(), c mysql_free_result, mysql_store_result() php mysql, mysql_store_result() mysql_free_result() php mysql, mysql_store_result in pjp, c mysql_free_esult thread, mysql_free_result c api, mysql_store_result() php, mysql insert into mysql_store_result, googlec# mysql_free_result()de, c mysql_store_result, ergebnismenge mysql_store_result

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