Bind_param läuft auf Fehler

Hallo,

ich hänge leider gerade fest und komme nicht weiter. Ich versuche einen Query abzuschicken und dann passiert leider nichts mehr.

Ausschnitt aus User.php

...
private $LoginName;
private $Password;
private $FirstName;
private $LastName;
private $Mail;
    
    public function __construct($LoginName, $Password, $FirstName, $LastName, $Mail){
        $this->LoginName = $LoginName;
        $this->Password = $Password;
        $this->FirstName = $FirstName;
        $this->LastName = $LastName;
        $this->Mail = $Mail;
    }
...
 public function register($password2){
          include('config/config.php');
          if ($this->Password == $password2){
            for($i = 0; $i < 323; $i++){
              $this->Password = md5($this->Password);
            }
            $query = $SQL->prepare('INSERT INTO `USER` (`LoginName`, `Password`, `FirstName`, `LastName`, `Mail`)
                                                 VALUES (?, ?, ?, ?, ?)');
            echo $this->FirstName;
            $query->bind_param('sssss', $this->LoginName, $this->Password, $this->FirstName, $this->LastName, $this->Mail);
           echo 'X';
            if(!$query->execute()){
              return false;             
            }else{
              return true; 
            }   
         }else{
           return false;
         }
               
    }

sql.php mit geändertem Passwort

<?php
defined('SECURE') or die('No direct access allowed!');

$config['sql_hostname'] = 'localhost';     //MySQL-Server
$config['sql_username'] = 'hyperion_test'; //Username
$config['sql_password'] = 'pass';      //Password
$config['sql_database'] = 'hyperion_test'; //Database

//Connect
$SQL = new MySQLi($config['sql_hostname'], $config['sql_username'], $config['sql_password'], $config['sql_database']);

if(mysqli_connect_errno() != 0 || !$SQL->set_charset('utf8'))
{
    die('<strong>ERROR:</strong> Error during connection to database!');
}
?> 

Die Ausgabe ist des was ich bei FirstName mitgebe. Das ‘X’ wird leider nicht ausgegeben. Leider wird auch kein fehler ausgegeben, sodass ich nicht weiß was der Fehler ist. Aufjedenfall scheint der irgendwie in dem bind_param abzubrechen. Könnt Ihr mir bitte helfen?

Gruß hyperion

error_reporting vernünftig eingestellt?

Und die meisten MySQLi-Methoden haben Rückgabewerte, aus denen man ermitteln kann, ob sie fehlerfrei ausgeführt werden konnten oder nicht - also gewöhne dir bitte an, das auch zu machen.

Hallo,

in der Einstiegsdatei habe ich eigentlich das Errorreporting definiert.

<?php
    @session_start();
    define("SECURE", true); 
    error_reporting(E_ALL);
    ini_set("display_errors", 1); 
    include('classes/Controller.php');
    include('classes/models/User.php');
    include('classes/View.php');            
    $request = null;
    $request = array_merge($_GET, $_POST);
    $controller = new Controller($request);
    echo $controller->display();
?>

Aber irgendwie greift das nicht immer. Manchmal zeigt es einen Fehler an und manchmal nicht. In den Fällen wo kein Fehler angezeigt wird, versuche ich die Fehlerzeite durch echos an verschiedenen Zeilen zu finden. Falls einer mal eine Idee hat warum nur bei manchen Fehlern etwas angezeigt wird und bei manchen nicht, wäre ich über eien Antwort dankbar.

Ich habe den fehler aber nun gefunden. Der Tabellenname ist User und nicht USER.
Deinen Tipp mit den Rückgabewerten der MYSQLI Methoden habe ich nun in meinen Code übernommen. Danke.

Gruß hyperion