Eerst even een inleinding: Nou ik ben sinds een jaar geïnteresseerd in PHP. Het bleef eigenlijk alleen bij lezen van boeken, voor de rest niets. Sinds april ben ik echter aan de slag gegaan met PHP en ben ik nu in een stadium dat ik al wat weet, ik kan nog geen scripts zelf ontwerpen etc. omdat ik daarvoor nog niet genoeg kennis heb.

Mijn bedoeling is om echter een site te gaan ontwerpen in PHP. Vooral een nieuwssysteem spreekt mij aan. Via scripts in boeken heb ik geprobeerd kennis hierover op te doen, heb diverse dingen geprobeerd maar het wil mij absoluut niet lukken. Probleem is dat ik telkens foutmeldingen krijg en deze niet weet op te lossen. Ik zoek hiervoor de fora af en Google om informatie over de fout te vinden, het heeft mij tot nu toe echter niks geholpen.

Ik kom nu in de problemen met de mysql_fetch_array. Deze gaf aan: mysql_fetch_array(): supplied argument is not a valid MySQL result.
Nu heb ik or die erbij gezet ik krijg ik helemaal niks te zien, pagina blijft dus leeg. Hieronder de code.

<?php
$query = "SELECT * FROM nieuws SORT BY publicatie DESC";
$resultaat = mysql_query($query)
or die ( "Kan de query niet vinden");

//Berichten tonen
while ($row = mysql_fetch_array($resultaat))
{

echo "<tr>
<td class='vbpic' rowspan='2'></td>
<td class='datum' valign='top'> ".$row['$publicatie']."</td>
</tr>
<tr>
<td class='vbtekst' valign='top'> ".$row['$nieuwstitel']." <br> ".$row['$intro']." </td>
</tr>";
}
?>


Ik weet niet wat hierin fout is ik ben ten einde raad. De gegevens deze ik opgegeven heb staan in de database. Hopelijk levert het iets op. Als er meer gegevens nodig zijn dan zal ik deze plaatsen. Er staan gegevens is desbetreffende MySQL tabel.

misschien dat de titel aan te passen is, wist niks beters.
Blanche schreef op 23.06.2007 13:34
Blijkbaar heet je database 'forum', en de tabel die je wilt gebruiken 'nieuws'. Alleen zegt mysql nu dat deze tabel niet bestaat. Klopt de naam wel? Heb je wel de goede database geslecteerd?


Dit zijn de gegevens:

<?php
$hostnaam = "localhost";
$gebruiker = "";
$wachtwoord = "";
$connection = mysql_connect($hostnaam,$gebruiker,$wachtwoord)
or die ("Kan geen verbinding maken met de database.");

$databasenaam = "website";
$db = mysql_select_db($databasenaam,$connection)
or die ("Kan geen database selecteren");
?>

Ik heb inderdaad wel een databasenaam met forum. Daarom snap ik niet dat die nu forum aangeeft? Maar goed dat verklaart wel het probleem. Dus dat die op de één of andere manier verkeerde verbinding maakt.

Ik had ook een script aangemaakt deze iets moest toevoegen, maar dat heeft die ook niet gedaan (ik werk nu wel op een lokale server, maar daar zal het niet aanliggen).
Vreemd, de gegevens voor het maken van de verbinding lijken inderdaad wel te kloppen, maar uiteindelijk is toch de database 'forum' geselecteerd.

Heb je nergens anders in je script misschien nog een mysql_select_db() staan? Of bijvoorbeeld een script dat je include waarin dat gebeurd?
Ja hoor, dat is hem. In elk geval is de foutmelding nu weg. Ik had inderdaad in het script nog iets staan voor een include.

Wel zijn er nog geen meldingen op de pagina. Dus de pagina is nu leeg.

Bedankt voor deze tip in elk geval al.
Misschien een beetje overbodige vraag, maar heb je wel gegeven in je database staan dan?
Dat wel. Maar de query had ik deze keer verkeerd staan, dus een ander tabel geprobeerd om te testen. Nu heb ik de goede en staan er wel reacties op die pagina.

Bedankt!! Nu verder gaan leren.

Reageren