Hallo @all,
Ich versuche gerade mir eine eigene Datenbankzugriffsklasse zu basteln. Das Ganze funktioniert bis zum Connect auch ganz toll. Nur sobald ich versuche das Statement selber auszuführen, passiert nichts mehr:
Das Problem scheint IMHO in der Rückgabe von $g_oResult zu liegen, bzw. in der Übergabe der Parameter in die Funktion ExecuteSQLSelect. Vielleicht habe ich aber auch nur einen ???
Ich versuche gerade mir eine eigene Datenbankzugriffsklasse zu basteln. Das Ganze funktioniert bis zum Connect auch ganz toll. Nur sobald ich versuche das Statement selber auszuführen, passiert nichts mehr:
PHP-Code:
class DBAccess
{
// Klassen – Eigenschaften
private $c_sDB_Server = "";
private $c_sDB_Name = "";
private $c_sDB_User = "";
private $c_sDB_Password = "";
private $c_bConnected = false;
// Set-Methoden
public function SetDB_Server( $p_sDB_Server )
{
$c_sDB_Server = $p_sDB_Server;
}
public function SetDB_Name( $p_sDB_Name )
{
$c_sDB_Name = $p_sDB_Name;
}
public function SetDB_User( $p_sDB_User )
{
$c_sDB_User = $p_sDB_User;
}
public function SetDB_Password( $p_sDB_Password )
{
$c_sDB_Password = $p_sDB_Password;
}
// Klassen – Methoden
public function Connect()
{
@$oDB = new mysqli($p_sDB_Server, $p_sDB_User, $p_sDB_Password, $p_sDB_Name);
if (mysqli_connect_errno())
{
printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
return false;
}
else
{
$c_bConnected = true;
echo "Verbindung erfolgreich: " . $oDB->host_info . "\n</br>";
echo "Server: " . $oDB->server_info;
return $oDB;
}
}
public function Disconnect($p_oDB)
{
if ( $c_bConnected )
{
$p_oDB->close();
$c_bConnected = false;
}
}
public function ExecuteSQLSelect($p_oDB, $p_sStatement)
{
if ( $p_oDB )
{
if ($oResult = $p_oDB->query($p_sStatement))
{
return $oResult;
}
}
}
}
PHP-Code:
include 'class_DBAccess.php';
$oDatenbank = new DBAccess();
$oDatenbank->SetDB_Server("localhost");
$oDatenbank->SetDB_Name("testdb");
$oDatenbank->SetDB_User("root");
$oDatenbank->SetDB_Password("");
$g_oDB = $oDatenbank->Connect();
if ( $g_oDB )
{
$g_oResult = $oDatenbank->ExecuteSQLSelect($g_oDB, "SELECT ID, VORNAME, NAME FROM PERSON;");
}
if ( $g_oResult )
{
while($g_oRow = $g_oResult->fetch_object() )
{
echo 'Datensätze aus der Tabelle...';
}
}
}
Kommentar