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. 🙂
Schreibe einen Kommentar