2012-04-13 2 views
0

Мой запрос перестает работать с шумом. Я знаю, что это голландский, но вы можете обнаружить какие-либо ошибки? Ошибок MySQL нет. Он просто не будет писать $ content на экран. Я пробовал много вещей. он просто перестает работатьПочему мой запрос не работает

<?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

Как вы можете получить данные из запроса? Например. как вы получаете $ record из $ result? – mistalee

ответ

2

Вы делаете mysql_query, но вы никогда не заполнить переменную $record. Как вы ожидаете, что у него будет контент?

Попробуйте добавить:

$record = mysql_fetch_array($result); 

после mysql_query.

Вы должны понимать, это две разные вещи:

  1. mysql_query выполнит запрос на сервере
  2. mysql_fetch_array (и друзей) будет получить результаты в нужном формате.

Если вы делаете только 1, вы выполняете запрос. Это хорошо работает, но если вас интересуют результаты, вам нужно их получить. Иногда вам не нужно (например, когда запрос не выбран).

2

Ошибок MySQL нет. Он просто не будет писать $ content на экран.

Что о добавлении:

echo $content; 

Если вы не печатать, то вы не увидите ничего :)

Кроме того, вы не смешиваясь $result и $record ?

1

Ваш код отсутствует mysql_fetch_assoc вызов после mysql_query, это должно быть что-то вроде этого:

$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>'; 

} 
1

перестал работать и не распечатывая какую-либо ошибку поднимается подозрение, что данные в базе данных каким-то изменилось, и запрос просто не получается никаких строк.

Выполните запрос в среде базы данных, например phpMyAdmin, и проверьте, не возвращены ли какие-либо строки.

В противном случае проверьте другие ответы на ошибки, связанные с mysql-php.

0

У вас есть результат запроса сохраняется в $ результата, но не затем, чтобы сделать что-нибудь с $ результата - вам нужно сделать что-то вроде:

$record = mysql_fetch_assoc($qry_result); 

для получения результатов записи из $ результата.Если вы ожидаете более одного результата вы должны будете использовать время цикла для перебора всех результатов

0

Изменение:

$content .= '<tr>'; 

To:

$content = '<tr>'; 

И не забудьте echo$content на странице.

Удостоверьтесь, что у вас есть сообщение об ошибках, поэтому сразу видите, что проблема заключается в неинициализированной переменной PHP или где-то еще.

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 
} 
Смежные вопросы