Ich bin ein Neuling in PHP OOP. Können Sie mir bitte helfen, diesen Code unten zu beheben, weil er mir eine unendliche Ausgabe gibt. Ich möchte meine abgerufenen Daten in mein Hauptprogramm ausgeben oder ausgeben. Vielen Dank.OUTPUT meine abgerufenen Daten zu meinem Hauptprogramm in PHP OOP
===========================================
class DB {
private $_hostdb = 'localhost';
private $_namedb = 'imsdb';
private $_userdb = 'root';
private $_passdb = '';
private $_conn;
private static $_instance;
private $_rowResult;
private function __construct(){
try{
$this->_conn=new PDO("mysql:host=$this->_hostdb;dbname=$this- >_namedb",$this->_userdb,$this->_passdb);
$this->_conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
if($this->_conn){
echo "Connected Successfully!";
}
} catch (Exception $ex) {
echo ("Connection Failed!")."".$ex->getMessage();
}
}
public static function getInstance(){
if(!isset(self::$_instance))
{
return self::$_instance=new DB();
}
}
public function processQuery($sql){
try{
$q=$this->_conn->prepare($sql);
$q->execute();
$q->setFetchMode(PDO::FETCH_ASSOC);
return $this->_rowResult=$q->fetch(); //Is this correct??
} catch (Exception $ex) {
echo ("Failed!")." ".$ex->getMessage();
}
}
}
//MAIN PROGRAM -> OUTPUT gives me an infinite data which is wrong
$dbUser=DB::getInstance()->processQuery("SELECT * FROM users");
while($dbUser){
echo $dbUser['username'];
}
Es gibt mir jetzt diesen Fehler. Schwerwiegender Fehler: Aufruf einer Memberfunktion getResultSet() –
Sie benötigen eine Objektinstanz, um das aufzurufen: '$ dbUser = DB :: getInstance(); $ dbUser-> processQuery ("SELECT * FROM users"); while ($ dbUser-> getResultSet()) {...} ' auch in Ihrer statischen getInstance Sie die $ _instance Eigenschaft zurückkehren wollen immer: ' public static function getInstance() { if (! isset (self :: $ _ instance)) { self :: $ _ instance = new DB(); } return self :: $ _ Instanz; } ' – PhilS
Es versuchte den Code unten, aber es gibt mir eine Zeile Rekord, aber es wiederholt sich 7 mal .. etwas stimmt nicht mit meinem Hauptprogramm –