Warning: mysqli::query(): Empty query
Für meine Anwendung, die ich bin Sie eine Gruppe erstellen, wo die Mitglieder abonnieren können. Mit der Funktion Befehle CreateGroup " ich bin das schreiben von Daten in die Datenbank. mit dem sql ' $insert
" ich bin das schreiben von Daten in tblgroups
. Das ist ok
Mit dem sql '$insertmember
' ich bin versucht, Daten zu senden, um tblgroup_member
aber group_id
und groupmember_id
nicht füllen.
Den group_id
werden die id_number
von der zuletzt erstellte Gruppe. Daher bin ich mit dem sql '$latest
'. Danach mache ich fetch_assoc
auf die Reihe bekommen.
Aber ich bekomme die Fehlermeldung, dass $latestresult
undefined en, dass die mysqli::query
leer ist? Was bin ich falsch??
PHP
$user_id = $user -> getUserByEmail($email);
if(isset($_POST["btnCreateGroup"])){
try {
$group = new Group();
$distance = (isset($_POST["distance"])) ? $_POST["distance"] : '';
$groupname = (isset($_POST["groupname"])) ? $_POST["groupname"] : '';
$duration = (isset($_POST["duration"])) ? $_POST["duration"] : '';
$group->GroupDistance = mysql_real_escape_string($distance);
$group->GroupName = mysql_real_escape_string($groupname);
$group->GroupDuration = mysql_real_escape_string($duration);
$group->CreatorId = mysql_real_escape_string($user_id);
$group->CreateGroup();
//$group->SaveCreatoridToGroup();
} catch(exception $e) {
$feedback = $e -> getMessage();
}
FUNKTION
public function CreateGroup()
{
$db = new Db();
$insert = "INSERT INTO tblgroups (
group_name,
group_distance,
group_duration,
group_creator_id
) VALUES (
'" . $db->conn->real_escape_string($this->m_sGroupName) . "',
'" . $db->conn->real_escape_string($this->m_iGroupDistance) . "',
'" . $db->conn->real_escape_string($this->m_iGroupDuration) . "',
'" . $db->conn->real_escape_string($this->m_sCreatorId) . "'
)";
$db -> conn -> query($insert);
$latest = "SELECT group_id FROM tblgroups ORDER BY group_id desc limit 1";
$latestresult = $db->conn->query($latestresult);
$fetch_latestresult = mysqli_fetch_assoc($latestresult);
var_dump($latestresult);
$insertmember = "INSERT INTO tblgroup_member (
group_id,
groupmember_id
) VALUES (
'" . $db->conn->real_escape_string($fetch_latestresult) . "',
'" . $db->conn->real_escape_string($this->m_sCreator_id) ."'
)";
$db -> conn -> query($insertmember);
throw new Exception("You created a group!");
}
- Obligatorische Kommentar, dass Sie die Verwendung von PDO und nicht mysqli. php.net/manual/en/book.pdo.php Oder zumindest prepared statements statt der Flucht strings. 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie einen Fehler
sollte
real_escape_string($fetch_latestresult['group_id'])
mysqli_fetch_assoc
zurück assoziatives array