2012-04-13 16 views
0

Meine Abfrage funktioniert nicht mehr. Ich weiß, dass es niederländisch ist, aber können Sie Fehler entdecken? Es gibt keine MySQL-Fehler. Er schreibt einfach keinen Inhalt auf den Bildschirm. Ich habe viele Dinge ausprobiert. er einfach aufhörenWarum funktioniert meine Abfrage nicht?

<?php 
$activiteiten= "SELECT 
       activiteiten.ActiviteitID, 
       activiteiten.Naam, 
       activiteiten.plaatsen, 
       agenda.TijdBegin, 
       agenda.TijdEind, 
       agenda.AgendaID, 
       reserveren.ReserveringTijd 


       FROM 
       activiteiten, 
       agenda, 
       reserveren 

       WHERE 

       agenda.ActiviteitID = activiteiten.ActiviteitID 
       AND 
       agenda.AgendaID = reserveren.AgendaID 
       "; 




$result = mysql_query($activiteiten) or die(mysql_error()); 

    $content .= '<tr>'; 


    $content .= '<td>'.$record['Naam'].'</td>'; 
    $content .= '<td>'.$record['ReserveringTijd'].'</td>'; 
    $content .='<td>Beschikbare plaatsen:'.$record['plaatsen'].'</td>'; 

    $agendaID= $record['AgendaID']; 
    $agendaData = agendaData($agendaID); 


    $content.= '<td>aantal reserveringen:'.$agendaData["reserveringen"].'</td>'; 
    $content.= '</tr>'; 

} 
+0

Wie erhalten Sie die Daten aus der Abfrage? Z.B. Wie bekommst du $ record von $ result? – mistalee

Antwort

2

Sie tun Arbeit einen mysql_query, aber man kann nie die $record Variable füllen. Wie erwarten Sie, dass es Inhalt hat?

Versuchen Zugabe:

$record = mysql_fetch_array($result); 

nach dem mysql_query.

Sie benötigen das sind zwei verschiedene Dinge zu verstehen:

  1. mysql_query wird eine Abfrage auf dem Server ausführen
  2. mysql_fetch_array (und Freunde) werden die Ergebnisse im gewünschten Format bekommen.

Wenn Sie nur 1 ausführen, führen Sie die Abfrage aus. Das funktioniert gut, aber wenn Sie an den Ergebnissen interessiert sind, müssen Sie sie holen. Manchmal müssen Sie das nicht (zum Beispiel, wenn die Abfrage keine Auswahl ist).

2

Es gibt keine MySQL-Fehler. Er schreibt einfach keinen Inhalt auf den Bildschirm.

Was über das Hinzufügen von:

echo $content; 

Wenn Sie es nicht drucken, dann werden Sie nichts sehen :)

Abgesehen davon, dass nicht Sie Misch $result und $record ?

1

Ihr Code mysql_fetch_assoc Anruf nach mysql_query fehlt, ist es so etwas wie dies sein sollte:

$result = mysql_query($activiteiten) or die(mysql_error()); 

while(false != ($record = mysql_fetch_assoc($result)) 
{ 
    $content .= '<tr>'; 


    $content .= '<td>'.$record['Naam'].'</td>'; 
    $content .= '<td>'.$record['ReserveringTijd'].'</td>'; 
    $content .='<td>Beschikbare plaatsen:'.$record['plaatsen'].'</td>'; 

    $agendaID= $record['AgendaID']; 
    $agendaData = agendaData($agendaID); 


    $content.= '<td>aantal reserveringen:'.$agendaData["reserveringen"].'</td>'; 
    $content.= '</tr>'; 

} 
steigt
1

aufgehört zu arbeiten und keine Störungen Ausdruck den Verdacht, dass die Daten in der Datenbank irgendwie und die Abfrage geändert haben bekommt einfach keine Zeilen.

Führen Sie Ihre Abfrage in einer Datenbankumgebung wie phpMyAdmin aus und überprüfen Sie, ob Zeilen zurückgegeben werden.

Prüfen Sie sonst die anderen Antworten für mysql-php-bedingte Fehler.

0

Sie haben das Abfrageergebnis in $ result gespeichert, aber Sie dann mit $ result, alles zu tun es nicht weitergehen - Sie brauchen, wie etwas zu tun ist:

$record = mysql_fetch_assoc($qry_result); 

das Rekordergebnis von $ Ergebnis abzurufen.Wenn Sie mehr als ein Ergebnis erwarten müssen Sie

0

Ändern einer while-Schleife zu Schleife durch alle Ergebnisse verwenden:

$content .= '<tr>'; 

An:

$content = '<tr>'; 

Und denken Sie daran, echo die $content auf der Seite.

Stellen Sie sicher, dass Sie Fehler melden, so dass Sie sofort sehen, wenn das Problem in nicht initialisierten PHP-Variablen oder woanders liegt.

1
$result = mysql_query($activiteiten) or die(mysql_error()); 

while ($record = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    // Your $record now contains the data you want 
} 
Verwandte Themen