Problem writing prepared statements (placehodlers dont match flags)


Well-known member
howdy i am having trouble writing this prepared statement, and could use any advice!

snippet of code that handles query.

    public function actionFeatureThread()
        $visitor = XenForo_Visitor::getInstance();

        if (XenForo_Permission::hasPermission($visitor['permissions'], 'nudaiiThreadEnhancement', 'nudaiiCanFeature')) {

            //Data from Form
            $XFTE_tid         = $this->_input->filterSingle('XFTE_tid', XenForo_Input::UINT);
            $XFTE_user        = $this->_input->filterSingle('XFTE_user', XenForo_Input::STRING);
            $XFTE_description = $this->_input->filterSingle('XFTE_description', XenForo_Input::STRING);

            // Connect to Database
            $db = XenForo_Application::get('db');

            // Run Queries on the Database

            $InsertXFTEData  = $db->query('INSERT INTO `xf_XFTE`(`XFTE_tid`, `XFTE_description`, `XFTE_user`) VALUES (?,?,?)', $XFTE_tid,$XFTE_description,$XFTE_user);

            //Send a response to the user, so he know that everything went fine with this action
            return $this->responseRedirect(XenForo_ControllerResponse_Redirect::SUCCESS, $this->getDynamicRedirect());

        } else {
           //No Permission for you
            return $this->responseNoPermission();

mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement

now i am clearly not understanding it right, as i see 3 ? and 3 varibles, but i ofcourse must be viewing it wrongly or formatting