dein Code sieht aus als verwandtest du MYSQLI Habe zwar schon lange nicht mehr mit MYSQLI gearbeitet da ich in der zwischen zeit nur noch mit PDO programmiere.
bis auf ein kleinen Schönheitsfehler kann ich keine Fehler sehen.
zum einen werden die Datentypen in einfachen Anführungszeichen gesetzt zum anderen ist die user id aller Wahrscheinlichkeit ein int.
probiere es mal so
PHP Code:
try {
$db = new MySQLi($hostname_config , $username_config , $password_config , $database_config);
$insertusr = "INSERT INTO bg_user (user_id, truepasswd, passwd, email, ip) VALUES (?, ?, ?, ?, ?)";
$qInsert = $db->prepare ($insertusr);
$qInsert->bind_param('issss', $user, $pass, $realpass, $email, $ip);
$qInsert->execute();
if ($qInsert->affected_rows == 1)
{
}
$qInsert->close();
} catch (Exception $e) {
echo 'Fehler: ' . htmlspecialchars($e->getMessage());
}
wenn du PDO verwarntest gibt es keine bind_param() sondern bindParam() das würte dan so aussehen
PHP Code:
try {
$engine ='MYSQL';
$dns = $engine . ':host=' . $host . ';port=' . $port . ';dbname=' . $database;
$db = new PDO($dns, $user, $pass, array(PDO::ATTR_PERSISTENT => true, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$insertusr = "INSERT INTO bg_user (user_id, truepasswd, passwd, email, ip) VALUES (:user_id, :truepasswd, :realpass, :email, :ip)";
$qInsert = $db->prepare ($insertusr);
$qInsert->bindParam(':user_id', $user, PDO::PARAM_INT);
$qInsert->bindParam(':truepasswd' $pass, PDO::PARAM_STR);
$qInsert->bindParam(':realpass', $realpass,PDO::PARAM_STR);
$qInsert->bindParam(':$email', $email, PDO::PARAM_STR);
$qInsert->bindParam(':ip', $ip, PDO::PARAM_STR);
$qInsert->execute();
if ($qInsert->affected_rows == 1)
{
}
} catch (Exception $e) {
echo 'Fehler: ' . htmlspecialchars($e->getMessage());
}