Ophalen uit database: 2 fouten

  • Onderwerp starter Onderwerp starter tomdb
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

tomdb

Gebruiker
Lid geworden
10 nov 2008
Berichten
417
Hallo,
ik ben een website aan het bouwen waar bij nieuws.php de nieuwsberichten moet ophalen uit de database. Nu zitten er 2 fouten in de code. Ik zie niet wat ik moet veranderen, kunnen jullie helpen? Hieronder de code van nieuws.php:
PHP:
<?php
//Nieuwspagina: Hier worden de nieuws berichten uit de database gehaald, en verwerkt.

$sql = "SELECT * FROM nieuws"; //query instellen
$sql .= "ORDER BY bericht_id DESC LIMIT 5"; //berichten worden aflopen gesorteerd, nieuwste dus eerst
$result = mysql_query ($sql);

while ($rij = mysql_fetch_assoc ($result)) {
// alinea maken met datum, tijd e.d.
	echo '<p class="nieuwsdate">';
	echo "[";

$datum = $rij["datum"];	//eerst even omzetten naar dd-mm-jjjj ipv jjjj-mm-dd
	if (ereg("([0-9]{4}) - ([0-9]{1,2}) - ([0-9]{1,2})", $datum,
			$substring)) {
		echo "$substring[3] - $substring[2] - $substring[1]";
	} else {
		echo $datum;
	}
	echo " om ";
	echo $rij["tijd"];
	echo "]";
	echo nl2br( $rij["tekst"] );
	echo "</p>\n";
//alinea voor onderschrift
	echo '<p class="onderschrift">';
	$naam = $rij["naam"];
	if ((is_null($naam)) or (strlen < 1)) {
		echo "Gepost door: anoniem";
	} else {
		echo "Gepost door" . $naam;
	}
	echo "</p>";
	}
	//resultaat nu vrijgeven:
	mysql_free_result ($result);
	mysql_close ($db);
?>
EDIT:
Bijna vergeten, de foutmeldingen:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/a6983939/public_html/nieuws.php on line 8
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/a6983939/public_html/nieuws.php on line 36

Wat moet ik veranderen?
 
Laatst bewerkt:
Op regel 8 moet je achter:

PHP:
$sql = "SELECT * FROM nieuws";

nieuws nog een spatie invoegen.

Je query is nu namelijk zo:

PHP:
$sql = "SELECT * FROM nieuwsORDER BY bericht_id DESC LIMIT 5";

De error op lijn 36 komt voort uit dezelfde fout.
 
Ah, thanks. Maar nu zegt PHP het volgende:
Notice: Use of undefined constant strlen - assumed 'strlen' in /home/a6983939/public_html/nieuws.php on line 28

Ik snap ook dat dat iets met de "strlen < 1" te maken heeft, maar wat moet ik veranderen?
Ook wordt mijn naam niet uit de database opgehaald, er staat:
Gepost door: anoniem.
 
Laatst bewerkt door een moderator:
strlen is een functie, die moet dus een parameter meer krijgen.

Kijk ik naar je code dan moet dat $naam zijn.

Het wordt dus
PHP:
if ((is_null($naam)) or (strlen($naam) < 1)) {

Dat hij je naam niet haalt komt voort uit de foutmelding, aangezien die IF-statement niet goed gaat kan ie geen fatsoenlijke vergelijking maken :)
 
Wederom bedankt:thumb:, het is gelukt nu!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan