警告:mysqli :: query():空查询

时间:2014-04-17 20:16:34

标签: php mysql sql function mysqli

对于我的应用程序,我正在创建一个成员可以订阅的组。使用CreateGroup函数,我将数据写入数据库。使用sql'$insert'我正在向tblgroups写入数据。没关系

使用sql'$insertmember'我正在尝试将数据发送到tblgroup_member,但group_idgroupmember_id将无法填满。

group_id必须是最后创建的组的id_number。因此我使用sql'$latest'。之后,我正在fetch_assoc获取号码。

但是我收到$latestresult未定义的错误,mysqli::query为空?我做错了什么?

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();
    }

功能

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!");

    }

1 个答案:

答案 0 :(得分:4)

你有错误

$latest = "SELECT group_id FROM tblgroups ORDER BY group_id desc limit 1";
$latestresult = $db->conn->query($latestresult);

应该是

$latest = "SELECT group_id FROM tblgroups ORDER BY group_id desc limit 1";
$latestresult = $db->conn->query($latest);