2016-12-11 3 views
1

Rückkehr annehmen, dass ich eine Tabelle Mytable mit Spalten benannt haben:Funktion, das Abfrageergebnisses

------------------------ 
| id | field1 | field2 | 
------------------------ 

und davon ausgehen, ich habe eine HTML-Dateien:

<body> 
<?php 
    include ('connect-db.php'); 
    include ('function.php'); 
?> 

<ul> 
    <?php 
     myfunction(); 

     while($row = $result->fetch_assoc()){ 
      echo "<li>".$row['field1']." and ". $row[field2]."</li>"; 
     } 
    ?> 
</ul> 
</body> 

das ist meine connect-db.php Datei:

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "root"; 
$dbname  = "dbname"; 

$conn=new mysqli($servername, $username, $password, $dbname); 
?> 

und das ist meine function.php Datei:

<?php 
    function myfunction(){ 
     $sql = "SELECT * FROM mytable"; 
     $result = $conn->query($sql); 
    } 
?> 

Wie Echo das Feld1 und Feld 2? weil ich habe und Fehler

+0

liefern Sie bitte Ihren Fehler – demo

Antwort

0

Jede Variable, die innerhalb einer Funktion verwendet wird, ist standardmäßig auf den lokalen Funktionsbereich beschränkt.

Sie können mehr darüber hier lesen: Variable scope. Wie man es repariert? Übergeben Sie die $conn als ein Argument von myfunction, und geben Sie die $result zurück.

function myfunction(mysqli $conn) { 
    $sql = "SELECT * FROM mytable"; 
    return $conn->query($sql); 
} 

dann können Sie es nennen mit

$result = myfunction($conn); 
0

Vergewissern Sie sich folgende Änderungen .....

auf Hauptseite

<body> 
    <?php 
     include ('connect-db.php'); 
     include ('function.php'); 
    ?> 

    <ul> 
     <?php 
     $result= myfunction(); 

      while($row = $result->fetch_assoc()){ 
       echo "<li>".$row['field1']." and ". $row[field2]."</li>"; 
      } 
     ?> 
    </ul> 
    </body> 

In Ihrer Funktion Datei ..

 <?php 
     include ('connect-db.php'); 
     function myfunction(){ 
      $sql = "SELECT * FROM mytable"; 
      $result = $conn->query($sql); 
      return $result; 
     } 
    ?> 
+0

In der Hauptseite müssen Sie die Variable definieren, die das zurückgegebene Ergebnis der Funktion abfangen muss. –

+0

In der Funktionsseite müssen Sie die Datenbankverbindungsdatei einschließen, um mit Datenbank abzufragen ... das sind häufige Fehler .... –

Verwandte Themen