krijg geen output
het gaat op dit script:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
$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];
}
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
Edit: vermoeidheid :(
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith
- $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'].
Gewijzigd op 01/01/1970 01:00:00 door Frank -
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
$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'];
}
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'];
}
Gewijzigd op 01/01/1970 01:00:00 door sander
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?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'];
}
?>
$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?
Wilde gok: moet het niet $row['p.post_time'] zijn als je het ophaalt?
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?
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
?>
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.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
$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
?>
$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
?>
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.
Gewijzigd op 01/01/1970 01:00:00 door sander
kan dicht probleem opgelost ik vroeg dingen op die niet in de database stonden
- 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!