Hi Janni,
Ich versuche dir mal zu helfen
Meiner Meinung nach liegt das Problem in folgender Zeile:
Code:
$query->bind_param('ss'.$sql3, $_POST['group_name'], $_POST['group_description'].$sql4);
Kleiner Blick in die PHP-Manual verrät uns:
The number of variables and length of string
types must match the parameters in the statement.
Das ist bei dir nicht der Fall Deine Types sehen so aus: ssi (String, String, Integer)
Sind 3 an der Zahl, du übergibst aber nur 2 Variablen an das bind_param.
Die Funktion braucht einzeln übergebene Variablen. Concatenated Strings mag die nicht, und genau soeinen String baust du hier:
Code:
$sql4.= ', '.((isset($_POST[$perms]) ? $_POST[$perms] : 0));
Ergo:
Code:
<?php
$perm_hash = array('perm_user');
foreach($perm as $perms)
{
$sql1.= ', '.$perms;
$sql2.= ', ?';
$sql3.= 'i';
$sql4.= (isset($_POST[$perms]) ? $_POST[$perms] : 0);
}
$query = $SQL->prepare('INSERT INTO `usergroup` (`group_name`, `group_description`'.$sql1.') VALUES (?, ?'.$sql2.')');
$query->bind_param('ss'.$sql3, $_POST['group_name'], $_POST['group_description'], $sql4);
$query->execute();
?>
Sollte hinhauen