2017-01-24 10 views
0

업데이트 : 추가 조사에서 while 루프 외부에 샘플 echo 문을 두 번 더 추가하면 파일이 두 번 실행되는 것 같습니다.MySQL이 동일한 레코드를 두 번 출력합니다.


나는 내 사이트의 모든 사용자를 끌어와 (포맷이 나중에 올 것이다)을 표시하도록되어 PHP 파일을 가지고 있지만 어떤 이유로이 두 번 모든 사용자를 반복 것으로 보인다. user_modify.php 파일은 아래 코드와 같은 다른 파일에서 실행됩니다.

echo system("php templates/user_modify.php"); 

템플릿/user_modify.php

<?php 

    include('php/connect.php'); 

    $result = mysqli_query($conn, "SELECT `email`,`name`,`class`,`verified`,`created` FROM users"); 

    if (mysqli_num_rows($result) > 0) { 
     while ($row = mysqli_fetch_assoc($result)) { 
      echo "Email: " . $row['email'] . "<br>"; 
      echo "Name: " . $row['name'] . "<br>"; 
      echo "Class: " . $row['class'] . "<br>"; 
      echo "Verified? " . ($row['verified'] === 0 ? "Yes" : "No") . "<br>"; 
      echo "Created on " . date("l, F jS, Y g:i a", strtotime($row['created'])) . "<br>"; 
     } 
    } 

?> 

connect.php 예상 무슨

<?php 

    $conn = mysqli_connect("********************", "**********", "************", "**********"); 

?> 

,728,803,210

실제 출력

Email: [email protected] 
Name: John Smith 
Class: 2G 
Verified? No 
Created on Sunday, January 22nd, 2017 1:38 pm 
Email: [email protected] 
Name: Jimmy John 
Class: 1B 
Verified? No 
Created on Monday, January 23rd, 2017 5:22 pm 
Email: [email protected] 
Name: John Smith 
Class: 2G 
Verified? No 
Created on Sunday, January 22nd, 2017 1:38 pm 
Email: [email protected] 
Name: Jimmy John 
Class: 1B 
Verified? No 
Created on Monday, January 23rd, 2017 5:22 pm 
+0

아마도 테이블에 복제본이 있습니다. –

+0

데이터를 두 번 가져 오지 않았으며 데이터베이스에 중복 된 데이터가 있는지 확인 했습니까? –

+0

phpMyAdmin에 따르면'users' 테이블에 두 개의 레코드 만 존재합니다 – ZonalYewHD

답변

0

I는 system 함수의 리턴 값을 갖는 한 반향 된 문제. system 함수는 계산 된 데이터를 에코하고 추가로 echo 문을 사용하여 두 번째로 에코합니다.

+0

문제가 해결되었습니다! [docs] (http://php.net/manual/en/function.system.php)에서 함수가 무언가를 인쇄하거나 무언가를 반환하는지 확인하는 것은 나쁜 생각이 아닙니다. –

관련 문제