ik vergeef je niet en ik zou je best willen slaan, maar niet vanwege dat haakje.
Behalve dat je geen or die() moet gebruiken moet je naast de error ook altijd de query printen, dan zie je bijna meteen wat het probleem is (meestal). je moet iig functies niet tussen quotes zetten (now())
waarom doe je ingodsnaam dit
'".$id."'
als dit ook kan
'$id'
Omdat variabelen niet tussen quotes moeten (je gaat toch ook geen functies tussen quotes zetten ofzo, quotes zijn er alleen voor strings). Geen enkele programmeertaal doet dat, alleen bij php hebben ze hiervoor ondersteuning ingebouwd. Dat is heel jammer en helaas is het in php5 nog steeds niet verbeterd, dus de vragen en problemen die hierdoor veroorzaakt worden zullen wel blijven komen.
het ging erom dat men ' " . $id . " ' gebruikt in plaats van ' $id '
ik doe het ook altijd zo, omdat het voor mij een duidelijker beeld geeft waar uw zin wordt afgebroken en een variabele wordt ingevoegd.
Als je het dan toch goed wilt doen, laat getallen dan ook buiten quotes, en omdat iedereen zegt dat MySQL_Fetch_Assoc sneller is dan MySQL_Fetch_Object, gebruik dan meteen MySQL_Fetch_Assoc^^
<?php
$sreply = mysql_query("SELECT * FROM news WHERE id='$newsid' AND type='3'");
$qreply = mysql_fetch_assoc($sreply);
// en dan hoe weergeven?
// zo: ?
echo "$qreply->tijd";
// of, zo: ?
echo "$qreply['tijd'];"
// of anders XD??
?>
<?php
$sreply=mysql_query("SELECT * FROM news WHERE id='$newsid' AND type='3'");
<?php
echo "ik ga naar de krantenwinkel";
//geen probleem
$wat = "kranten";
echo "ik ga naar de $watwinkel";
//probleem: variabele $watwinkel is niet geïnitialiseerd en heeft dus de waarde NULL. "ik ga naar de " zal op het scherm komen.
?>
dus:
- variabelen buiten quotes
- getallen buiten quotes (eigenlijk alles behalve strings)
en fetch_assoc geeft een array, dus moet je het niet als object benaderen (met ->)
edit:
@nemesiskoen: idd alleen met dubbele quotes
nog een opmerking over bovenstaand script: gebruik nooit SELECT *, je selecteert dan alle kolommen terwijl je dat meestal niet wilt (als je ze wel echt allemaal nodig hebt mag het natuurlijk wel). Elke extra kolom levert per record weer extra (kilo)bytes op en al die data wordt in het geheugen geladen en maakt het dus langzamer.
euh...de query werkt hoor had gewoon ')' vergeten & 'now()' moest now() worden, pft. Misschien zal ik toch niets meer posten hier Anders komt de DB beetje vol zeker admins . Ik had gewoon al heel de dag PHP codes gezien en ben beetje dronken ervan . This can be closed