[PHP] mysql_fetch_row error

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste Tweaker :)

Ik heb een bot op IRC die kan laten zien wat de laatste 10 posts zijn op een forum.

Het PHP-bestand ziet er als volgt uit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php

/********************************************************************************/
/*                                         */
/* newtopics.php
            */
/*                                        */
/********************************************************************************/


/* SETTINGS START */

$dbhost    = "******";                /* Your Database Host */
$dbuname   = "******";                /* Your Database Username */
$dbpass    = "******";                /* Your Database Password */
$dbname    = "******";                /* Your Database Name */

$prefix    = "phpbb_";                    /* The phpbb2 database table prefix (usually phpbb2_ I think ...) */
$forum_url = "http://gamespoil.net/forum/";        /* The url of your phpbb2 forum */

/* SETTINGS END */

$dbi = mysql_connect($dbhost, $dbuname, $dbpass) or die("Unable to connect to mysql");
mysql_selectdb($dbname) or die($mysql_error);;


$result1 = mysql_query("SELECT topic_id, topic_last_post_id, topic_title FROM".$prefix."topics ORDER BY topic_last_post_id DESC LIMIT 10") or die($mysql_error);
while(list($topic_id, $topic_last_post_id, $topic_title) = mysql_fetch_row($result1)) {
    $result2 = mysql_query("SELECT topic_id, poster_id, FROM_UNIXTIME(post_time,'%b %d, %Y at %T') as post_time FROM".$prefix."posts where post_id='$topic_last_post_id'");
    list($topic_id, $poster_id, $post_time) = mysql_fetch_row($result2);
        echo "$topic_title: ".$forum_url."viewtopic.php?p=$topic_last_post_id#$topic_last_post_id<BR>\n";
}

?> 


Nu krijg ik helemaal niks te zien op die pagina :? Het lijkt wel of hij niks terug krijgt van de MySQL database :|

Ik hoop dat jullie mij kan helpen!! Ik zou erg dankbaar zijn.

Alvast bedankt! _/-o_

[ Voor 41% gewijzigd door Verwijderd op 03-01-2004 13:07 . Reden: Up-To-Date code ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ik heb dit zelf ook wel eens gehad, volgens mij is dit omdat de query niks teruggeeft. Ff proberen met mysql_num_rows($result1) en dan kijken wat deze functie terug geeft. Als het 0 is dan werkt mysql_fetch_array niet.

[ Voor 2% gewijzigd door Verwijderd op 03-01-2004 12:26 . Reden: Phpvars zijn met $ ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:31

gorgi_19

Kruimeltjes zijn weer op :9

Echo ook eens je query; 'k heb ook zo een donkerbruinvermoeden dat je een foutief SQL Statement hebt; veroorzaakt door een verkeerde copy/paste.

[ Voor 21% gewijzigd door gorgi_19 op 03-01-2004 12:27 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Scaror
  • Registratie: September 2003
  • Laatst online: 02-09 22:39

Scaror

Don't watch this!

Ik denk dat je query niet goed is. Check het eens op deze manier:

PHP:
1
2
$result = mysql_query($query)
  or die ('Invalid query: '.$query);


Het kan trouwens ook zijn dat de verbinding met de database mislukt is. Check dat eens zo:

PHP:
1
2
$dbi = mysql_connect($dbhost, $dbuname, $dbpass);
  or die("Could not connect: " . mysql_error());

[ Voor 44% gewijzigd door Scaror op 03-01-2004 12:30 ]


Acties:
  • 0 Henk 'm!

Verwijderd

code:
1
".$prefix." topics


die spatie voor topics moet weg

Acties:
  • 0 Henk 'm!

Verwijderd

Owja ik was even vergeten dat je zonder error_reporting(E_ALL) geen mysql_query fouten krijgt. Nou ja niet de minder ernstige.

[ Voor 1% gewijzigd door Verwijderd op 03-01-2004 12:43 . Reden: typo ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:31

gorgi_19

Kruimeltjes zijn weer op :9

@TS

Erhm... Je hebt nu net een edit gedaan van je SQL Statement, maar nu heb je hem nog meer vernaggeld.... :X Heb je al een echo gedaan?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb het bovenste bericht bijgewerkt!
Nu krijg ik helemaal niks terug van de MySQL database volgens mij :?

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Als je nou es de resulterende query bekijkt en DAN pas opnieuw komt zeggen dat het niet werkt :?
Ow en volg gelijk de hint hierboven ergens op met het afdrukken van de mysql_error...
ala:
mysql_query(...) or die(user_error("Error in: {$query} " . mysql_error()));

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:31

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 03 januari 2004 @ 13:07:
Ik heb het bovenste bericht bijgewerkt!
Nu krijg ik helemaal niks terug van de MySQL database volgens mij :?
Nee, omdat je SQL statement sowieso weer fout is :P

Na FROM moet wel een spatie.

Maar echo je query en dan zie je het zelf.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nu heb ik dit:
PHP:
1
2
3
4
5
6
7
8
$dbi = mysql_connect($dbhost, $dbuname, $dbpass) or die("Could not connect: " . mysql_error()); 

$result1 = mysql_query("SELECT topic_id, topic_last_post_id, topic_title FROM" .$prefix."topics ORDER BY topic_last_post_id DESC LIMIT 10") or die($mysql_error);
while(list($topic_id, $topic_last_post_id, $topic_title) = mysql_fetch_row($result1)) {
    $result2 = mysql_query("SELECT topic_id, poster_id, FROM_UNIXTIME(post_time,'%b %d, %Y at %T') as post_time FROM" .$prefix."posts where post_id='$topic_last_post_id'") or die($mysql_error);
    list($topic_id, $poster_id, $post_time) = mysql_fetch_row($result2);
        echo "$topic_title: ".$forum_url."viewtopic.php?p=$topic_last_post_id#$topic_last_post_id<BR>\n";
}

Hij laat niks zien! Ook geen foutmeldingen http://gamespoil.net/forum/newtopics.php
Als ik dat ene stukje deed met "die en query", en dat zegt hij: "invalid query: " en dan niks erachteraan. :?

[ Voor 14% gewijzigd door Verwijderd op 03-01-2004 13:26 ]


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Sja... je kan ook de reacties es lezen zeg... wat zegt gorgi in de 2e regel van zijn laatste post?
En er is ook wat verschil tussen mijn 'or die'-variant en die gene die eerder gepost was... Een beeetje nadenken mag echt wel hoor :)

Acties:
  • 0 Henk 'm!

  • Fatamorgana
  • Registratie: Augustus 2001
  • Laatst online: 21-07 01:24

Fatamorgana

Fietsen is gezond.

De spatie moet ook op een andere plek erbij dan wat je gedaan hebt, dus zo:

"SELECT topic_id, topic_last_post_id, topic_title FROM "

NA de FROM dus en VOOR de "

[ Voor 10% gewijzigd door Fatamorgana op 03-01-2004 13:30 ]


Acties:
  • 0 Henk 'm!

  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 18-09 21:53

Tux

PHP:
1
mysql_selectdb($dbname) or die($mysql_error);;


Moet dat niet
PHP:
1
mysql_select_db ($dbname) or die (mysql_error ());


zijn :P

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Jongens, ik heb het voor elkaar!!! _/-\o_
hartstikke bedankt voor jullie reacties!! :+
Pagina: 1