endrebjo Skrevet 2. april 2006 Del Skrevet 2. april 2006 Når jeg prøver følgende kode får jeg denne feilmeldingen: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/endre/php/phpBB2/test.php on line 107 Noen som ser noen åpenbare feil? <?php // Path to the folder of your forum, relative to this file $rootpath = './'; // Number of topics to display $limit = '3'; // Connect to the database include ("{$rootpath}config.php"); mysql_connect("{$dbhost}", "{$dbuser}", "{$dbpasswd}") or die(mysql_error()); mysql_select_db("{$dbname}") or die(mysql_error()); $getpost = mysql_query("SELECT {$table_prefix}posts.post_id, {$table_prefix}posts.poster_id, {$table_prefix}posts.post_time FROM {$table_prefix}posts GROUP BY post_id DESC LIMIT {$limit}"); while($post = mysql_fetch_array($getpost)) { $gettopic = mysql_query("SELECT {$table_prefix}topics.topic_title, {$table_prefix}topics.topic_id FROM {$table_prefix}topics WHERE topic_id = {$post[topic_id]}"); while($topic = mysql_fetch_array($gettopic)) // LINJE 107 { $getuser = mysql_query("SELECT {$table_prefix}users.username, {$table_prefix}users.user_id WHERE user_id = {$post[poster_id]}"); while($user = mysql_fetch_array($getuser)) { $posted = date("d.m.y - H:i", $post[post_time]); print "<tr>\n"; print "<td><a href=\"{$rootpath}viewtopic.php?t={$topic['topic_id']}\" target='new'>{$topic['topic_title']}</a></td>\n"; //print "<td>Av: {$post['post_username']}</td>\n"; print "<td>". $posted . "</td>\n"; print "</tr>\n\n"; } } } ?> Det er et skript for å hente ut de tre nyeste postene på en phpBB-forum. Lenke til kommentar
CruellaDeVille Skrevet 2. april 2006 Del Skrevet 2. april 2006 (endret) $gettopic = mysql_query("SELECT {$table_prefix}topics.topic_title, {$table_prefix}topics.topic_id FROM {$table_prefix}topics WHERE topic_id = {$post[topic_id]}"); prøv å bytte ut med $gettopic = mysql_query("SELECT {$table_prefix}topics.topic_title, {$table_prefix}topics.topic_id FROM {$table_prefix}topics WHERE topic_id = {$post[topic_id]}") or die("Feil under spørringsutførelsen".mysql_error()); Jeg tipper at mysql ikke forstår { uten ' hvis det er en streng. ev bytte ut spørringen din med $gettopic = mysql_query("SELECT '{$table_prefix}'topics.topic_title, '{$table_prefix}'topics.topic_id FROM '{$table_prefix}'topics WHERE topic_id = {$post[topic_id]}") or die("feil under spørring " .mysql_error()); Endret 2. april 2006 av CruellaDeVille Lenke til kommentar
Ernie Skrevet 2. april 2006 Del Skrevet 2. april 2006 Den feilmeldingen får man, såvidt jeg husker, hvis det ikke ble funnet noen rader. Det kan være en ide å skrive ut spørringen for å se at den faktisk er korrekt og ikke inneholder noen tegn som ikke skal være der. Lenke til kommentar
endrebjo Skrevet 2. april 2006 Forfatter Del Skrevet 2. april 2006 (endret) Fikk fikset det slik at jeg ikke får feilmelding ihvertfall: <?php // Path to the folder of your forum, relative to this file $rootpath = './'; // Number of topics to display $limit = '3'; include ("{$rootpath}config.php"); mysql_connect("{$dbhost}", "{$dbuser}", "{$dbpasswd}") or die(mysql_error()); mysql_select_db("{$dbname}") or die(mysql_error()); $getpost = mysql_query("SELECT {$table_prefix}posts.post_id, {$table_prefix}posts.poster_id, {$table_prefix}posts.post_time FROM {$table_prefix}posts GROUP BY post_id DESC LIMIT {$limit}"); while($post = mysql_fetch_array($getpost)) { $gettopic = mysql_query("SELECT {$table_prefix}topics.topic_title, {$table_prefix}topics.topic_id FROM {$table_prefix}topics WHERE topic_id = '{$post[topic_id]}'"); // HER MÅTTE DET STÅ ' ' RUNDT {$post...} while($topic = mysql_fetch_array($gettopic)) { $getuser = mysql_query("SELECT {$table_prefix}users.username, {$table_prefix}users.user_id WHERE user_id = '{$post[poster_id]}'"); while($user = mysql_fetch_array($getuser)) { $posted = date("d.m.y - H:i", $post[post_time]); /*print("<pre>"); print_r($getpost); print_r($gettopic); print_r($getuser); print("</pre>");*/ print "<tr>\n"; print "<td><a href=\"{$rootpath}viewtopic.php?t={$topic['topic_id']}\" target='new'>{$topic['topic_title']}</a></td>\n"; print "<td>Av: {$user['username']}</td>\n"; print "<td>". $posted . "</td>\n"; print "</tr>\n\n"; } } } ?> Men nå skjer det faktisk ingeting når skriptet kjøres i gang. Dere ser jeg har prøvd å printe arrayene på slutten der, men selv ikke <pre> kommer ut. Betyr det at ekseveringen ikke kommer helt inn i loopen? Endret 2. april 2006 av endrebjorsvik Lenke til kommentar
endrebjo Skrevet 2. april 2006 Forfatter Del Skrevet 2. april 2006 Jeg fant ut av det. Var en del småplukk innimellom som jeg hadde oversett. Ferdig skript: <?php // Path to the folder of your forum, relative to this file $rootpath = './'; // Number of topics to display $limit = '3'; // Connect to the database include ("{$rootpath}config.php"); mysql_connect("{$dbhost}", "{$dbuser}", "{$dbpasswd}") or die(mysql_error()); mysql_select_db("{$dbname}") or die(mysql_error()); // Grab information and set output $getpost = mysql_query("SELECT post_id, poster_id, post_time, topic_id FROM {$table_prefix}posts ORDER BY post_id DESC LIMIT {$limit}") or die("MySQL-feilmelding: " . mysql_error()); while($post = mysql_fetch_array($getpost)) { $gettopic = mysql_query("SELECT {$table_prefix}topics.topic_title, {$table_prefix}topics.topic_id FROM {$table_prefix}topics WHERE topic_id = {$post[topic_id]}") or die("MySQL-feilmeldning: " . mysql_error()); while($topic = mysql_fetch_array($gettopic)) { $getuser = mysql_query("SELECT username, user_id FROM {$table_prefix}users WHERE user_id = {$post[poster_id]}"); while($user = mysql_fetch_array($getuser)) { $posted = date("d.m.y - H:i", $post[post_time]); /*print("<pre>"); print_r($getpost); print_r($gettopic); print_r($getuser); print("</pre>");*/ print "<tr>\n"; print "<td><a href=\"{$rootpath}viewtopic.php?t={$topic['topic_id']}\" target='new'>{$topic['topic_title']}</a></td>\n"; print "<td>Av: {$user['username']}</td>\n"; print "<td>". $posted . "</td>\n"; print "</tr>\n\n"; } } } Så hæææærlig!! Har slitt med dette leeeeenge nå. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå