2015-10-28 3 views
0

Итак, у меня есть функция внутри класса, чтобы получить максимальное значение на основе другого значения, но я получаю пустую страницу.PDO select max query не возвращает ничего, пустая страница

Я проверил наличие сильного синтаксиса, но не найдено, что валидатор обнаружен, и если я изменю его на header("Location: https://facebook.com"), он перейдет на сайт, так что кажется, что функция работает. Однако я не возвращаю свою переменную.

Мои связи и все остальное прекрасно, поскольку мои другие функции в этом классе возвращают то, что я хочу.

class FORUM 
{ 
    private $forum; 

    function __construct($DBFORUM_con) 
    { 
     $this->db = $DBFORUM_con; 
    } 

    public function addCount($id) 
    { 
     try 
     { 
      $stmt = $this->db->prepare("SELECT MAX(a_id) AS Maxa_id FROM forum_answer WHERE question_id = :id"); 

      $stmt->execute(array(':id'=>$id)); 
      $userRow = $stmt->fetch(PDO::FETCH_ASSOC); 

      if ($stmt->rowCount() > 0) 
      { 
       $Max_id = $userRow['Maxa_id'] + 1; 

       return $Max_id; 
      } 
      else { 
       $Max_id = 1; 

       return $Max_id; 
      } 
     } 
     catch(PDOException $e) 
     { 
      echo $e->getMessage(); 
     } 
    } 
} 

Тогда в моей странице, которая обрабатывает форму:

//require class 

$id = $_POST['id']; 

if ($forum->addCount($id)) 
{ 
    echo $Max_id; 
} 
else 
{ 
    echo $Max_id; 
} 

ответ

1

Вы не присваивая значение возврата к чему-либо.

Попробуйте

$id = $_POST['id']; 

$Max_id = $forum->addCount($id) 

if ($Max_id) 
{ 
    echo $Max_id; 
} 
else 
{ 
    echo $Max_id; 
} 
Смежные вопросы