Schwerwiegender Fehler: Aufruf einer Memberfunktion bind_param () bei Boolean

Ich bin gerade auf eine Funktion, die ruft Einstellungen aus einer DB, und plötzlich lief ich in diese Fehlermeldung:

Fatal error: Call to a member function bind_param() on boolean in C:\xampp2\htdocs\application\classes\class.functions.php on line 16

Normalerweise würde dies bedeuten, dass ich die Auswahl Sachen von unexisting Tabellen und Kram. Aber in diesem Fall ich 'm nicht...

Hier ist die getSetting Funktion:

public function getSetting($setting)
{
    $query = $this->db->conn->prepare('SELECT value, param FROM ws_settings WHERE name = ?');
    $query->bind_param('s', $setting);
    $query->execute();
    $query->bind_result($value, $param);
    $query->store_result();
    if ($query->num_rows() > 0)
    {
        while ($query->fetch()) 
        {
            return $value;
            if ($param === '1')
            {
                $this->tpl->createParameter($setting, $value);
            }
        }
    }
    else
    {
        __('invalid.setting.request', $setting);
    }
}

Den $this->db variable übergeben wird, über einen Konstruktor. Im Falle der Notwendigkeit, hier ist es:

public function __construct($db, $data, $tpl)
{
    $this->db = $db;
    $this->tpl = $tpl;
    $this->data = $data;
    $this->data->setData('global', 'theme', $this->getSetting('theme'));
}

Auch, da bin ich auf eine Datenbank meine Datenbank-Verbindung:

class Database
{
    private $data;

    public function __construct($data)
    {
    $this->data = $data;
    $this->conn = new MySQLi(
      $this->data->getData('database', 'hostname'), 
      $this->data->getData('database', 'username'), 
      $this->data->getData('database', 'password'), 
      $this->data->getData('database', 'database')
    );
    if ($this->conn->errno)
    {
        __('failed.db.connection', $this->conn->errno);
    }
    date_default_timezone_set('Europe/Amsterdam');
}

Hab ich schon getestet, die Verbindung, 100% positiv, dass es funktioniert wie vorgesehen.
Ich werde die DB-Verbindungs-Dinge, die in einer Konfigurations-Datei:

'database' => array(
    'hostname' => '127.0.0.1',
    'username' => 'root',
    'password' => ******,
    'database' => 'wscript'
)

Nun ist die seltsame Sache ist, die Tabelle existiert, die angeforderte Einstellung existiert, wird die DB existiert aber noch, dass Fehler nicht verlassen. Hier ist ein Beweis dafür, dass die DB ist richtig:

Schwerwiegender Fehler: Aufruf einer Memberfunktion bind_param () bei Boolean

InformationsquelleAutor der Frage Wesley Peeters | 2014-12-10

Schreibe einen Kommentar