2016-04-19 9 views
1

Ich versuche, durch meine Datenbank zu durchlaufen und jede Zeile anzuzeigen. Ich weiß nicht, was mit meinem Code falsch ist, aber es zeigt überhaupt nichts an ... Kann jemand helfen? DieseSchleifen und Anzeigen mehrerer Tabellenzeilen aus der Datenbank sql

<?php 

$players = mysql_query("SELECT * FROM users"); 
while ($row = mysql_fetch_assoc($players)) { 
    $steamid = $row["name"]; 
    $profilename = $row["profilename"]; 
    $profileurl = $row["profileurl"]; 
    $avatar = $row["avatar"]; 
    $region = $row["region"]; 


?> 


<p><?php echo $name ?></p> 
<p>><?php echo $profilename ?></p> 
<p>><?php echo $profileurl ?></p> 
<p><?php echo $avatar ?></p> 


<?php 
} 
?> 

ist, wo im diese Datei einschließlich:

<?php include 'fetch_players.php'; ?> 
+1

Erhalten Sie eine 500? Laufen Sie PHP 7? '$ name' ist nicht definiert, sollte aber nur eine Warnung ausgeben (falsche Zuweisung hier' $ steamid = $ row ["name"]; '). Haben Sie eine Datenbankverbindung? – chris85

+0

Beenden Sie die Verwendung von veraltetem 'mysql_ *' verwenden Sie 'mysqli_ *' oder 'PDO' –

+2

Sie nehmen nur an, dass die Abfrage erfolgreich war. schlechte Annahme. Niemals jemals Erfolg annehmen. 'mysql_query (...) oder die (mysql_error())' sollte die absolute Barebones/minimal akzeptable Fehlerbehandlung sein. und selbst dann sollten Sie die Funktionen mysql _ *() nicht mehr verwenden. Sie sind tot/weg und sollten um jeden Preis vermieden werden. –

Antwort

1

Ein Beispiel für mysqli_* mit richtigem Ansatz ist unten angegeben. Bitte beachten Sie auch Kommentare: -

<?php 
error_reporting(E_ALL); // check all type of error 
ini_set('display_errors',1); // display those error 
$connection = mysqli_connect('hostname','username','password','dbname'); // provide your db credentials here 
$final_data = array(); // create empty array 
if($connection){ 
    $players = mysqli_query($connection,"SELECT * FROM users"); 
    if($players){ 
     while ($row = mysqli_fetch_assoc($players)) { 
      $final_data[$row['id']]['name'] = $row['name']; // assign values id wise to the array 
      $final_data[$row['id']]['profilename'] = $row['profilename']; 
      $final_data[$row['id']]['profileurl'] = $row['profileurl']; 
      $final_data[$row['id']]['avatar'] = $row['avatar']; 
      $final_data[$row['id']]['region'] = $row['region']; 
     } 
    }else{ 
     echo "query execution failed because of". mysqli_error($connection); 
    } 
}else{ 
    echo "db connection error because of". mysqli_connect_error(); 
} 
?> 

<?php 
if(count($final_data) >0){ // check array have some value or not? 
foreach($final_data as $final_dat){?> 
    <p><?php echo $final_dat['name'] ?></p><!-- print out values --> 
    <p><?php echo $final_dat['profilename'] ?></p> 
    <p><?php echo $final_dat['profileurl'] ?></p> 
    <p><?php echo $final_dat['avatar'] ?></p> 
    <p><?php echo $final_dat['region'] ?></p> 
<?php }}?> 
+0

Das hat mein Problem behoben. Vielen Dank @Anant :) – Tim

+0

Sie sind herzlich willkommen :) :) :) –

+0

Was meinst du mit diesem tho: // zuweisen ID-weise zu dem Array – Tim

Verwandte Themen