Newbee-Frage zu MySQL (mysql_connect in eine Funktion einkapseln)
-
Ich hätte gerne ein MySQl-Connect-Statement in einer Funktion eingebettet, aber ich weiß nicht, wie ich den Handler übergeben soll.
So wie im folgenden Beispiel hatte ich mir die Lösung vorgestellt, aber es hat nicht geklappt.
MySQL* MySQL::Connect2(CString Datenbank) { MYSQL *myDB; MYSQL_RES *result; if ((myDB=mysql_init((MYSQL*)0))&&mysql_real_connect(myDB,"localhost","root", NULL,NULL,0,NULL,0)) { if (mysql_select_db(myDB,Datenbank)==0) return myDB; else return 0; } else return 0; }Wie kann ich den Datenbank-Handle myDB zurück geben?

Danke für Eure Hilfe!
Gruß, Elayas
-
Was bekommst du denn für eine Meldung?
-
Ich war ein wenig blind. Ich habe als Variable MySQL eingegeben, dabei heißt der Variablentyp MYSQL. Jetzt klappt es.

Allerdings habe ich noch eine andere Frage zu Funktionen. Wie kann ich mehrere Parameter aus einer Funktion erhalten?
Zum Beispiel einmal durch den Return-Wert und durch die Veränderung des übergebenen Wertes.
CString function TestVar($var) { var.Replace(",","."); var.Replace("-","."); if (!var.Find(".")) return "Fehler: Varialbe enthält keinen Punkt"; else return ""; // Wenn allerdings die Variable einen Punkt, ein Komma oder einen Bindestrich enthält, // soll die Veränderung, die innerhalb der Funktion stattgefunden hat auch außerhalb // sichtbar werden. }Damals in PHP ging es, wenn man die Variable beim Funktionsaufruf mit einem & versehen hat.
Beispiel: Fehler = TestVar(&$var);
Danke für die Hilfe!
-
Oh, also das ist einfach: Du machst eine Referenz auf den Variablentyp.
Also:
Normal:
CString strText;Referenz:
CString& strText;Der Vollständigkeit halber, ein Zeiger:
CString* pText;Mach also einfach die Funktion so:
CString function TestVar(CString& var) ...Okay?
PS: Danke für den "Tipp" wie es in PHP geht, ich hätte es bestimmt bald gesucht.
-
ich hab zu danken
