PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Funktion (Verbindung zur Datenbank) (http://www.selfphp.de/forum/showthread.php?t=22508)

kokklo 30.11.2009 07:48:46

Funktion (Verbindung zur Datenbank)
 
Tach!

Ich möchte gerne mittels folgender Funktion eine Verbindung zur Datenbank aufbauen:
PHP-Code:

# Mit Datenbank verbinden
function connect_db($host$user$pw$db) {
@
$db = new mysqli($host$user$pw$db);
     if(
mysqli_connect_errno()) {
     
printf('Verbindung fehlgeschlagen: %s\n'mysqli_connect_error());
     exit();
     }


Soweit so gut, nur wenn ich jetzt die Datenbankverbindung mit (egal ob lose oder auch in einer Funktion)
PHP-Code:

$db->close() 

beenden möchte, bekomme ich eine Fehlermeldung

Code:

Fatal error: Call to a member function close() on a non-object in *\*.php on line *
Wie schaffe ich mir da am besten Abhilfe?
So wie ich das verstanden habe, kann die Verbindung $db nur in der Funktion selbst weiterverwendet werden, richtig? Wie kann ich die Verbindung $db dann global nutzen?

Oder gibt es für diese Art von Problem eine gar bessere Lösung?

Gruß, kokklo

cortex 30.11.2009 08:48:04

AW: Funktion (Verbindung zur Datenbank)
 
Zitat:

Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken
findest du dich mit diesem problem tatsächlich darin wieder?

[mod: verschoben]

cx

kokklo 30.11.2009 10:25:21

AW: Funktion (Verbindung zur Datenbank)
 
Ich entschuldige mich für das Missverständnis. ;-)
Ich hoffe jemand hat eine Antwort drauf.

vt1816 30.11.2009 10:34:04

AW: Funktion (Verbindung zur Datenbank)
 
Zitat:

Zitat von kokklo (Beitrag 132764)
[...]
Oder gibt es für diese Art von Problem eine gar bessere Lösung?

Gruß, kokklo

Hier mal zwei Stichworte: Klassen, Session

rarios 30.11.2009 10:50:20

AW: Funktion (Verbindung zur Datenbank)
 
Ist denn $db global? Du kannst sie ja auch einfach mal global machen...

kokklo 30.11.2009 12:51:19

AW: Funktion (Verbindung zur Datenbank)
 
Ich werde das mit der Funktion lassen. Ich habe mich jetzt mal im Internet zu diesen MySQL-Klassen erkundigt, aber da lohnt sich der Aufwand nicht für das kleine Projekt.

Gegebenenfalls werde ich mir dann nochmal Lektüre dazu holen.

Ich mach nun einfach immer
PHP-Code:

@$db = new mysqli($host$user$pw$daba); 

wenn ich eine Verbindung brauche. Ist ja fast genauso kurz wie die Funktion und packe lediglich die Fehlermeldung in eine Funktion.

Gruß & Danke.
kokklo

urvater 30.11.2009 15:57:09

AW: Funktion (Verbindung zur Datenbank)
 
Wieso liest du diesen Teil hier nicht? mysqli::close
Ich glaub da steht das, was du umsetzen wolltest.


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:58:08 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.