2016-04-02 13 views
0

Ich brauche einen Tisch in einem assoziativen Array abzufragen Singleton Datenbankverbindung und im immer Fehler mit,Sammeln mysql Abfrage-Ergebnis aus der Tabelle

Notice: Undefined variable: id in C: \ xampp \ htdocs \ SOBCASHIER \ resources \ Vorlagen \ loginmodel.php on line 10

Hinweis: Nicht definierte Variable: Name in C: \ xampp \ htdocs \ SOBCASHIER \ resources \ Templates \ loginmodel.php on line 10

Hinweis: Undefined variable: loc in C : \ xampp \ htdocs \ SOBCASHIER \ Ressourcen \ templates \ loginmodel.php in Zeile 10

Warning: mysqli_stmt :: fetch() erwartet genau 0 Parameter, 3 in C angegeben: \ xampp \ htdocs \ SOBCASHIER \ resources \ templates \ loginmodel.php auf Leitung 10

Hinweis: in C zu bespannen Umwandlungs Array: \ xampp \ htdocs \ SOBCASHIER \ resources \ Templates \ loginmodel.php on line 12 Array

mein db.config.php

define ('HOST','localhost'); 
define ('USER','garodamas_mon'); 
define ('PASSWORD','r0d4m45'); 
define ('DATABASE','garodamas_cashrcv'); 

class Database{ 
    private $DBH; 
    private static $singleton; 
    protected function __construct(){ 
     $this->DBH=new mysqli(HOST,USER,PASSWORD,DATABASE); 
    } 
    public static function instance(){ 
     if (!(self::$singleton instanceof self)) { 
      self::$singleton = new self(); 
     } 
     return self::$singleton; 
    } 
    public static function get(){ 
     return self::instance()->DBH; 
    } 
    private function __wake(){} 
    private function __clone(){} 
} 

und meine loginmodel.php

<?php 
require_once '../db.config.php'; 


$get=Database::get()->prepare('SELECT user_id, user_name, user_dept FROM mst_user'); 
$get->execute(); 
$row = array(); 

$get->fetch($id, $name, $loc); 
     while($get->fetch()){ 
      print($row); 
     } 

Ich weiß nicht, wo mein Fehler ist. mst_user hat 3 Spalten. Bitte helfen Sie mir .. danke

+1

SHOW * 'erstellen Problem es wäre SELECT *' – Saty

Antwort

1

Die prepare() Anweisung gibt false zurück, weil ein Fehler vorliegt.

mysqli_prepare() gibt ein Anweisungsobjekt oder FALSE zurück, wenn ein Fehler aufgetreten ist.

Versuchen

new mysqli(HOST,USER,PASSWORD,DATABASE)->prepare('badsql')->execute(); 

Und dann die badsql beheben.

1
require_once '../db.config.php'; 

$get=Database::get()->prepare('SELECT user_id, user_name, user_dept FROM mst_user'); 
$get->execute(); 

mit PDO:

while ($row = $get->fetch(PDO::FETCH_NUM)) { 
     $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n"; 
     print $data; 
     } 

Mit Mysqli:

$get->bind_result($id,$name,$loc); 
while ($get->fetch()) { 
     print ($id, $name, $code); 
    } 
+0

im mit mysqli nicht PDO –

+0

@ KonzMama, ich habe meine Antwort bearbeitet, ich glaube, Sie haben vergessen, Ergebnisvariablen in Mysqli zu binden – Amir