Ik vraag wat gegevens uit de sql maar hij geeft niks weer.
het gaat op dit script:

$sql = 	mysql_query("SELECT t.forum_id, t.topic_id, p.post_time 
			FROM phpbb_topics t, phpbb_posts p 
			WHERE p.post_id = t.topic_last_post_id 
				AND p.post_time > " . $user_lastvisit . " 
				AND t.topic_moved_id = 0");

while ($row = mysql_fetch_array($sql))
{echo $row[post_time];

}

Als ik de sql in phpmyadmin stop rollen er keurig mooie tabellen uit maar in de while loop doet hij niks. Wat ik ook echo in de while loop hij laat het niet zien. Ik neem aan dat het hier $row = mysql_fetch_array($sql)) in zit.
Alvast bedankt
mysql_query($sql) misschien erna?

Edit: vermoeidheid :(
Even een paar opmerkingen:
- $sql is geen SQL maar een result-set. $result lijkt mij dus een 100x betere naam
- Waarom neem jij aan dat de query altijd lukt? Queries kunnen namelijk altijd mislukken. Controleer dus of $result TRUE of FALSE is voordat je daar wat mee gaat doen.
- row[post_time] is fout, post_time is geen constante en hoort dus tussen quotes te staan: row['post_time'].
nog steeds geen verbetering

$result = 	mysql_query("SELECT t.forum_id, t.topic_id, p.post_time 
			FROM phpbb_topics t, phpbb_posts p 
			WHERE p.post_id = t.topic_last_post_id 
				AND p.post_time > " . $user_lastvisit . " 
				AND t.topic_moved_id = 0");

while ($row = mysql_fetch_array($result))
{echo $row['post_time'];

}

<?php
$result = mysql_query("SELECT t.forum_id, t.topic_id, p.post_time
FROM phpbb_topics t, phpbb_posts p
WHERE p.post_id = t.topic_last_post_id
AND p.post_time > " . $user_lastvisit . "
AND t.topic_moved_id = 0") or die("FOUT: " . mysql_error());

while ($row = mysql_fetch_array($result))
{
echo $row['post_time'];
}
?>
[edit]Krijg je een foutmelding? post die dan hier even.
Wilde gok: moet het niet $row['p.post_time'] zijn als je het ophaalt?
[/edit]
En waar controleer jij of $result TRUE is?
<?
if(!$result){
echo 'Er is een fout opgetreden: '.mysql_error();
}

while ($row = mysql_fetch_array($result)){
echo $row['post_time'];
}
print_r($row); // testje of er wel wat in $row staat, kan later weer weg
?>

Edit: En met de functie mysql_num_rows() kun je opvragen hoeveel records er zijn geselecteerd. Wel zo handig, dan weet je of er uberhaubt wel iets aan output is.
Hij geeft nog steeds niets weer echt vreemd

<?
$result =  mysql_query("SELECT t.forum_id, t.topic_id, p.post_time 
            FROM phpbb_topics t, phpbb_posts p 
            WHERE p.post_id = t.topic_last_post_id 
            AND p.post_time > " . $user_lastvisit . " 
            AND t.topic_moved_id = 0") or die("FOUT: " . mysql_error());
if(!$result){
  echo 'Er is een fout opgetreden: '.mysql_error();
}

while ($row = mysql_fetch_array($result)){
  echo $row['post_time'];
}
print_r($row); // testje of er wel wat in $row staat, kan later weer weg
?>
hij geeft dus geen rows nadat ik num_rows heb gedaan bedankt

edit:
Ik echo dus weer de sql en plak die in phpmyadmin en die komt zo met een rits resultaten aan. Heb die sql (dus zonder vars) in de code geplakt en nog steeds geeft hij niks.
kan dicht probleem opgelost ik vroeg dingen op die niet in de database stonden
Desondanks heb je weer een hoop geleerd!
- controleer ALTIJD of de query wel is gelukt
- controleer of er wel resultaten zijn
- het gebruik van quotes bij een array-key, het is tenslotte geen constante.
- error_reporting() gebruiken.

Niets mis mee dus!

Reageren