получение значения из столбца, но возвращает null?

Я пытаюсь получить значение «раундов» из раундов столбцов в моей базе данных. Итак, я хочу получить значение, которое является полем для каждой дискуссии / сообщения. Основываясь на значении / номере, он должен отображать другую вещь. Когда я предположительно получаю значение, он говорит NULL, даже если значение в поле db для этой дискуссии / сообщения равно 4. Это не просто дебаты, но это происходит для всех из них. Как я могу получить фактическое значение поля в столбце и назначить его переменной с именем $ rounds. Эта переменная должна иметь ценность для каждой дискуссии, а не только для этих дебатов.

<?php $servername = ""; $username = ""; $password = ""; $dbname = ""; $con = new mysqli($servername, $username, $password, $dbname); if($con->connect_error) { die("Connection failed: " . $con->connect_error); } else { $sql = "SELECT rounds FROM vf_Discussion"; $result = $con->query($sql); $allRounds = $result->fetch_row(); $rounds = $allRounds[0]; var_dump($rounds); } mysqli_close($con); $rounds1 = '<h2 class="CommentHeading">Round 1 (Pro)</h2> <br> <h2 class="CommentHeading">Round 1 (Con) </h2>'; $rounds2 = '<h2 class="CommentHeading">Round 2 (Pro)</h2> <br> <h2 class="CommentHeading">Round 2 (Con)</h2>'; $rounds3 = '<h2 class="CommentHeading">Round 3 (Pro)</h2> <br> <h2 class="CommentHeading">Round 3 (Con)</h2>'; $rounds4 = '<h2 class="CommentHeading">Round 4 (Pro)</h2> <br> <h2 class="CommentHeading">Round 4 (Con)</h2>'; $rounds5 = '<h2 class="CommentHeading">Round 5 (Pro)</h2> <br> <h2 class="CommentHeading">Round 5 (Con)</h2>'; foreach($allRounds as $rounds) { if($rounds == 1) { echo $rounds1; foreach($Sender->Data('Answers') as $Row) { $Sender->EventArguments['Comment'] = $Row; WriteComment($Row, $Sender, Gdn::Session(), 0); } } if($rounds == 2) { echo $rounds1; echo $rounds2; foreach($Sender->Data('Answers') as $Row) { $Sender->EventArguments['Comment'] = $Row; WriteComment($Row, $Sender, Gdn::Session(), 0); } } if($rounds == 3) { echo $rounds1; echo $rounds2; echo $rounds3; foreach($Sender->Data('Answers') as $Row) { $Sender->EventArguments['Comment'] = $Row; WriteComment($Row, $Sender, Gdn::Session(), 0); } } if($rounds == 4) { echo $rounds1; echo $rounds2; echo $rounds3; echo $rounds4; foreach($Sender->Data('Answers') as $Row) { $Sender->EventArguments['Comment'] = $Row; WriteComment($Row, $Sender, Gdn::Session(), 0); } } if($rounds == 5) { echo $rounds1; echo $rounds2; echo $rounds3; echo $rounds4; echo $rounds5; foreach($Sender->Data('Answers') as $Row) { $Sender->EventArguments['Comment'] = $Row; WriteComment($Row, $Sender, Gdn::Session(), 0); } } } ?> 

Я использовал PDO . Ваша ошибка заключалась в назначении $rounds . И я очистил ваш код для лучшей читаемости:

 <?php $servername = ""; $dbname = ""; $username = ""; $password = ""; $pdo = NULL; try { $pdo = new PDO('mysql:host=' . $servername . ';dbname=' . $dbname, $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $exception) { die("Connection failed: " . $exception->getMessage()); } $rounds = []; // array we want to save all the rounds to // the database $query = "SELECT rounds, COUNT(*) AS cnt FROM vf_Discussion GROUP BY rounds ORDER BY rounds"; $statement = $pdo->prepare($query); $statement->execute(); $rows = $statement->fetchAll(\PDO::FETCH_ASSOC); foreach($rows as $row) { $rounds[] = ['name' => $row['rounds'], 'count' => $row['cnt']]; } foreach($rounds as $round) { $name = $round['name']; $cnt = $round['cnt']; echo '<h2 class="CommentHeading">Round ' . $round . ' (Pro)</h2> <br> <h2 class="CommentHeading">Round ' . $round . ' (Con)</h2> <br> <h2 class="CommentHeading">Number of Rounds ' . $cnt . '</h2>'; foreach($Sender->Data('Answers') as $Row) { $Sender->EventArguments['Comment'] = $Row; WriteComment($Row, $Sender, Gdn::Session(), 0); } } ?>