Frage fehler? oop php

07/15/2015 15:14 Givemoney#1
Guten Tag,
ich habe hier noch mein anderes Beispiel, leider funktioniert das nicht..

Kann mir jemand sagen, wie ich das sonst realisieren kann?


Fehlermeldung: Miss Agrument anscheinend kann ich nur ein variable im construct aufnehmen...

Code:
PHP Code:
<?php


//Verbindung wird hergestellt
class verbinden
{
public 
$db_server;
public 
$db_name;
public 
$db_user;
public 
$db_passwort;


public function 
__construct($SR$NM$US$PW)
{

$this->db_server $SR;
$this->db_name $NM;
$this->db_user $US;
$this->db_passwort $PW;

$db = @ mysql_connect $db1$db3$db4 )
or die ( 
'keine Verbindung' );
$db_check = @ mysql_select_db $db2 );
if ( 
$db )
{
echo 
'Verbinden'.'<br>';
}
}
}

$db1 = new verbinden('localhost:3307');
$db2 = new verbinden('justin');
$db3 = new verbinden('root');
$db4 = new verbinden('1234');

echo 
$db1 -> db_server;

 
?>
07/15/2015 15:25 Devsome#2
Quote:
Originally Posted by Givemoney View Post
Guten Tag,
ich habe hier noch mein anderes Beispiel, leider funktioniert das nicht..

Kann mir jemand sagen, wie ich das sonst realisieren kann?


Fehlermeldung: Miss Agrument anscheinend kann ich nur ein variable im construct aufnehmen...

Code:
PHP Code:
<?php


//Verbindung wird hergestellt
class verbinden
{
public 
$db_server;
public 
$db_name;
public 
$db_user;
public 
$db_passwort;


public function 
__construct($SR$NM$US$PW)
{

$this->db_server $SR;
$this->db_name $NM;
$this->db_user $US;
$this->db_passwort $PW;

$db = @ mysql_connect $db1$db3$db4 )
or die ( 
'keine Verbindung' );
$db_check = @ mysql_select_db $db2 );
if ( 
$db )
{
echo 
'Verbinden'.'<br>';
}
}
}

$db1 = new verbinden('localhost:3307');
$db2 = new verbinden('justin');
$db3 = new verbinden('root');
$db4 = new verbinden('1234');

echo 
$db1 -> db_server;

 
?>
sollte eigentlich so gehen

PHP Code:
$dbConnection = new verbinden('localhost:3307''justin''root' ,'1234'); 
PHP Code:
public function __construct($SR$NM$US$PW){
    
$this->db_server $SR;
    
$this->db_name $NM;
    
$this->db_user $US;
    
$this->db_passwort $PW;

    
$db = @ mysql_connect $this->db_server$this->db_user$this->db_passwort )
        or die ( 
'keine Verbindung' );
        
    
$db_check = @ mysql_select_db this->db_name );
    if ( 
$db ){
        echo 
'Verbinden'.'<br>';
    }

07/15/2015 15:42 NotEnoughForYou#3
Bitte schaue dir die Grundlagen objektorientierter und parametisierter Programmierung an. In deinem anderen Thread habe ich dir bereits eine funktionierende Lösung gegeben.

PHP Code:
$db = @ mysql_connect $db1$db3$db4 
$db1, $db3 und $db4 sind doch gar nicht in deinem Scope vorhanden (davon abgesehen, dass das Objekte wären).

PHP Code:
$db1 = new verbinden('localhost:3307');
$db2 = new verbinden('justin');
$db3 = new verbinden('root');
$db4 = new verbinden('1234'); 
Hier erzeugst du 4 Objekte mit jeweils einem Parameter (obwohl der Konstruktor 4 Stück verlangt). Jedes Attribut ist nur für das jeweilige Objekt verfügbar (solange es keine Klassenattribute sind).

Eine Möglichkeit wäre Devsome's Lösung, wobei du dabei wieder das selbe Problem mit der Vererbung wie in deinem anderen Thread (wozu ich dir eine Lösung gegeben habe) hättest, außer du würdest das Datenbankobjekt dann an deine anderen Objekte weitergeben, was aber relativ unpraktisch ist.

Mfg
07/15/2015 15:51 Givemoney#4
Ich bedanke mich nochmals. Ich hätte eigentlich selber drauf kommen müssen.
#closed
07/15/2015 15:52 NotEnoughForYou#5
Welcher Code?
07/19/2015 22:10 snow#6
#closed (on request)