@alexsteadfast
I am noob

Почему выгрузка строк из БД дублируется?

Необходимо выгрузить все строки из бд на форму, всего в БД 2 строки.
Строки выгружаются 2 раза. В итоге появляются 4 строки, значения дублируются.
Код
class usersView
{


      private function info()
      {
           $sqlInfo = "SELECT * FROM `RegUsers`";
           $mySql = new mysqli('localhost', 'root', '', 'GuestBook');
           mysqli_query($mySql, "SET NAMES 'utf8' COLLATE 'utf8_general_ci'");
           mysqli_query($mySql, "SET CHARACTER SET 'utf8'");
           $resultSql =  mysqli_query($mySql, $sqlInfo);
           return $resultSql; 

      }
      public function usersView()
      {
          $resultSql = $this->info();

              while ($row = mysqli_fetch_assoc($resultSql)) {
                  echo 'Логин ' . $row['Log'] . '<br>';
                  echo 'Пароль ' . $row['Pass'] . '<br>';
                  echo 'Маил ' . $row['mail'] . '<br>';
                  echo 'Город ' . $row['town'] . '<br>';
                  echo 'Пол ' . $row['pol'] . '<br>';
                  echo 'Возраст ' . $row['years'] . '<br>';
                  echo 'Аватарка ' . $row['ProfPic'] . '<br>';
                  echo 'Статус ' . $row['status'] . '<br>';
                  echo '<hr>';
              };
          }

}

//НА Форме
  <?
    $user = new usersView();
    $user->usersView();
    ?>
  • Вопрос задан
  • 131 просмотр
Решения вопроса 2
slo_nik
@slo_nik Куратор тега PHP
Добрый вечер.
if($resultSql){
  while ($row = mysqli_fetch_assoc()) {
   /****/
  }
}
Ответ написан
@alexsteadfast Автор вопроса
I am noob
КонечноеРешение:
class usersView
{
      private function info()
      {
           $sqlInfo = "SELECT * FROM `RegUsers`";
           $mySql = new mysqli('localhost', 'root', '', 'GuestBook');
           mysqli_query($mySql, "SET NAMES 'utf8' COLLATE 'utf8_general_ci'");
           mysqli_query($mySql, "SET CHARACTER SET 'utf8'");
           $resultSql =  mysqli_query($mySql, $sqlInfo);
           return $resultSql;

      }
      public function usersView()
      {
          $resultSql = $this->info();
          if ($resultSql) {
              while ($row = mysqli_fetch_assoc($resultSql)) {
                  echo 'Логин ' . $row['Log'] . '<br>';
                  echo 'Пароль ' . $row['Pass'] . '<br>';
                  echo 'Маил ' . $row['mail'] . '<br>';
                  echo 'Город ' . $row['town'] . '<br>';
                  echo 'Пол ' . $row['pol'] . '<br>';
                  echo 'Возраст ' . $row['years'] . '<br>';
                  echo 'Аватарка ' . $row['ProfPic'] . '<br>';
                  echo 'Статус ' . $row['status'] . '<br>';
                  echo '<hr>';
              };exit();
          }
      }
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Eugeny1987
Работаю с HostCMS
При присутствии в классе одноименной функции она будет вызываться как конструктор класса
class usersView
{
      private function info()
      {
           $sqlInfo = "SELECT * FROM `RegUsers`";
           $mySql = new mysqli('localhost', 'root', '', 'GuestBook');
           mysqli_query($mySql, "SET NAMES 'utf8' COLLATE 'utf8_general_ci'");
           mysqli_query($mySql, "SET CHARACTER SET 'utf8'");
           $resultSql =  mysqli_query($mySql, $sqlInfo);
           return $resultSql;

      }
      public function showUsers()
      {
          $resultSql = $this->info();
          if ($resultSql) {
              while ($row = mysqli_fetch_assoc($resultSql)) {
                  echo 'Логин ' . $row['Log'] . '<br>';
                  echo 'Пароль ' . $row['Pass'] . '<br>';
                  echo 'Маил ' . $row['mail'] . '<br>';
                  echo 'Город ' . $row['town'] . '<br>';
                  echo 'Пол ' . $row['pol'] . '<br>';
                  echo 'Возраст ' . $row['years'] . '<br>';
                  echo 'Аватарка ' . $row['ProfPic'] . '<br>';
                  echo 'Статус ' . $row['status'] . '<br>';
                  echo '<hr>';
              };exit();
          }
      }
}

$user = new usersView();
$user->showUsers();
?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы