Antworten auf deine Fragen:
Neues Thema erstellen

Problem beim Auslagern einer MySQL-Verbindung

ElementZ

Nicht mehr ganz neu hier

Hallo,
ich möchte ein kleines System zum schreiben, löschen und bearbeiten von Einträgen meiner Datenbank schreiben. Bis jetzt hat das auch alles funktioniert, nur da mir das zu blöd war, jedes mal erneut den Code für die Verbindung mit der Datenbank zu schreiben, wollte ich das Verbinden mit der db in eine Funktion auslagern, die dann die Verbindung, die in einer Variablen gespeichert ist, zurückgibt. Das ganze kenne ich aus C#, da funktioniert das problemlos, hier allerdings nicht.

Code:
    function getConnection() {
        $connection = mysql_connect($host, $user, $password);
        mysql_select_db($database, $connection);
        return $connection;
    }

aufrufen tu ich das dann folgendermaßen:

Code:
$connection = getConnection();

und wende darauf dann ganz normal Querys an, bei deren Durchführung ich dann aber die Fehlermeldung bekomme. Die wäre:

Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) in /homepages/11/ssdsdsasadsasa/htdocs/Test/index.php on line 34

Die Fehlerzeile wäre tatsächlich die erste aus meiner Funktion, also dort, wo ich die Verbindung herstelle.

Kann ich das ganze nicht auslagern, oder habe ich da nur etwas falsch gemacht?

Lg
ElementZ
 

Duddle

Posting-Frequenz: 14µHz

Wo werden $host, $user und $password in getConnection() definiert?

Die bei der Verbindung geschaffene Ressource wird auch automatisch vorgehalten und benutzt. Du musst sie also nicht speichern, ausser du willst mehrere Verbindungen gleichzeitig jonglieren.

Ausserdem: mysql_* ist deprecated, das wenn möglich also nicht mehr verwenden.


Duddle
 

ElementZ

Nicht mehr ganz neu hier

$host, $user und $passwort stehen außerhalb der Funktion weiter oben zur Verfügung. Da sie damit global sind, brauche ich die doch nicht noch extra in die Funktion selbst setzen.
D.h. ich könnte die funktion einfach ausführen und muss nichts returnen?

Was soll ich denn stattdessen benutzen, habe das so aus einem Buch, was immerhin für PHP5 und MySQL4 ist, also keine Ahnung, wie ich das sonst machen soll.

//Edit:
Okay, habe grad mal recherchiert. benutzt man jetzt mysqli_*?
 
Zuletzt bearbeitet:

ElementZ

Nicht mehr ganz neu hier

OH wie unnötig :D Okay, Fehler verstanden, bisher ist mir das aber noch nie in einer Programmiersprache begegnet :D Trotzdem danke :)
 

Chickenshooter

Alter Mann

Moin Moin.

Wenn Du bis jetzt mit C# gearbeitest hast, könntest du das Ganze doch objektorientiert implementieren. Wäre eine saubere Sache und besser wartbar.

mfg
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.449
Mitglieder
67.556
Neuestes Mitglied
Ggirl
Oben