Toon posts:

[PHP] Iets uit database ophalen geeft problemen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil voor een site nieuws uit een dbtje halen (mysql) maar hij geeft constant parse errors. Ik kan hier wel de complete source gaan posten maar dan krijg ik sowieso een slotje.. Ik heb er een halve nacht op gezeten en kom er helaas niet uit... kan iemand mij helpen met dit?
PHP:
1
<?                $sql = mysql_query("SELECT id, title, body FROM news ORDER BY id");                  while($array = mysql_fetch_array($sql)){                  extract($array);                  print"<td><tr><a href="nieuws.php?stationid=$stationid&amp;page=Nieuws&amp;id=$id">$title</a></tr></td>";                  }                ?>

kan iemand mij helpen (maybe via icq ofzo?).

alvast bedankt..

p.s. hij geeft dus een eror op die print's

  • noot101
  • Registratie: Februari 2002
  • Laatst online: 10-01 13:54
Gebruik eens de volgende regel voor je print. met slashes dus...

print"<td><tr><a href=\"nieuws.php?stationid=$stationid&page=Nieuws&id=$id\">$title</a></tr></td>";

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:11
Een parse error betekend meestal een syntax - fout. Misschien moet je eens in uw manual gaan kijken of je syntax dus wel goed is.

https://fgheysels.github.io/


  • SyphOn
  • Registratie: Juni 2001
  • Laatst online: 05-09 13:01
In de search is genoeg info hier over te vinden.
[search=php mysql]

En zet idd ff \ voor de " in de print.

Verwijderd

Topicstarter
probleem is dat ik die syntax heb "afgekeken" van een werkend script
de admin pagina voor het nieuws werkt nl precies hetzelfde

Verwijderd

Topicstarter
Heb die slashes uitgeprobeerd en het werk :P DANKJULLIEWEL

  • SyphOn
  • Registratie: Juni 2001
  • Laatst online: 05-09 13:01
Kan aan mij liggen maar hebben jullie ook bij de nieuwe php dat als hij een bijv een error geeft op line 120 dat er een " mist op bijv lijn 30.

Bij de versie ervoor was dit niet zo. Dan gaf die aan dat het op line 30 is.

Verwijderd

Topicstarter
ja heb ik ook al gehad
op lijn 30 je iteratie niet afsluiten en een error aan het einde krijgen... maar das normaal geloof ik

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 21:14

TheDane

1.618

Op vrijdag 07 juni 2002 10:57 schreef SyphOn het volgende:
Kan aan mij liggen maar hebben jullie ook bij de nieuwe php dat als hij een bijv een error geeft op line 120 dat er een " mist op bijv lijn 30.

Bij de versie ervoor was dit niet zo. Dan gaf die aan dat het op line 30 is.
lijkt me sterk. als je een string niet met " afsluit, dan weet de parser dat eigenlijk helemaal niet, totdat ie wel een " vindt .. als dat pas 100 regels later is .. tsja, dan had je dus een string van 100 regels .. doet php niet moeilijk over.

Hij ziet dan na die " gewoon iets wat niet klopt, en DAAR struikelt ie pas over

Verwijderd

Topicstarter
ik heb ook nog een ander probleempje
link

Hij geeft nl constant hetzelfde bericht weer. Hoe komt dat?
PHP:
1
<?                                $sql = mysql_query("SELECT id, title, body, time FROM news ORDER BY time DESC LIMIT 20");                  while($array = mysql_fetch_array($sql)){                  extract($array);                  print"<td><tr><a href=\"nieuws.php?stationid=$stationid&amp;amp;page=Nieuws&amp;amp;id=$id\">$title</a></tr></td>";                  }                ?>                </table>                </td>                <td width="25" height="380">[img]"<?[/img]/nieuws_21.jpg"></td>                <td width="615" height="320">                <?                $sql = mysql_query("SELECT body FROM news WHERE id='$id'");                print"$body";                while($array = mysql_fetch_array($sql)){                  extract($array);                  print"$body";                  }                ?>

Ik denk dat die tweede query niet nodig is maar die is er voor de zekerheid... Zonder doet ie precies hetzelfde

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 21:14

TheDane

1.618

heeft $id wel een waarde binnen de scope van die code?

wacht; je overschrijft dat $id iedere keer met die eerste query,.
daarom krijg je iedere keer dezelfde body

je moet 't $id uit je $_POST of $_GET vars halen, niet uit die query

Verwijderd

Topicstarter
Die wordt aangeroepen in de link als het ware
dus : nieuws.php?stationid=96.3&page=Nieuws&id=7

  • SyphOn
  • Registratie: Juni 2001
  • Laatst online: 05-09 13:01
$_get[ID]

  • SyphOn
  • Registratie: Juni 2001
  • Laatst online: 05-09 13:01
Op vrijdag 07 juni 2002 11:14 schreef TheDane het volgende:

[..]

lijkt me sterk. als je een string niet met " afsluit, dan weet de parser dat eigenlijk helemaal niet, totdat ie wel een " vindt .. als dat pas 100 regels later is .. tsja, dan had je dus een string van 100 regels .. doet php niet moeilijk over.

Hij ziet dan na die " gewoon iets wat niet klopt, en DAAR struikelt ie pas over
Dan licht het toch aan mij :P

Verwijderd

Foutje :)

Sorry van de misbruik van ruimte... Ik had de posts onder je laatste vraag niet gezien.

Verwijderd

Op vrijdag 07 juni 2002 11:36 schreef SyphOn het volgende:

[..]

Dan ligt het toch aan mij :P
zie mijn ondertitel...

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op vrijdag 07 juni 2002 11:40 schreef zellufs het volgende:

[..]

zie mijn ondertitel...
en dan vertel ik het je 1 keer om niet zo te replyen in /14
reageer inhoudelijk of reageer niet

Doet iets met Cloud (MS/IBM)


  • SyphOn
  • Registratie: Juni 2001
  • Laatst online: 05-09 13:01
Op vrijdag 07 juni 2002 11:40 schreef zellufs het volgende:

[..]

zie mijn ondertitel...
nutteloos.
Op vrijdag 07 juni 2002 11:23 schreef _KaKaRoT_ het volgende:
ik heb ook nog een ander probleempje
link

Hij geeft nl constant hetzelfde bericht weer. Hoe komt dat?
PHP:
1
<?                 $sql = mysql_query("SELECT id, title, body, time FROM news ORDER BY time DESC LIMIT 20");                  while($array = mysql_fetch_array($sql)){                  extract($array);                  print"<td><tr><a href=\"nieuws.php?stationid=$stationid&amp;amp;page=Nieuws&amp;amp;id=$id\">$title</a></tr></td>";                  }                ?>                </table>                </td>                <td width="25" height="380">[img]"<?[/img]/nieuws_21.jpg"></td>                <td width="615" height="320">                <?                $sql = mysql_query("SELECT body FROM news WHERE id='$id'");                print"$body";                while($array = mysql_fetch_array($sql)){                  extract($array);                  print"$body";                  } ?>

Ik denk dat die tweede query niet nodig is maar die is er voor de zekerheid... Zonder doet ie precies hetzelfde
Waarom in een array zetten?
Je kan toch ook:
mysql_fetch_row doen?

Verwijderd

Hebbet al gefixed voor 'm :)

Die extract in de eerst query weggehaald en die linkjes maken met {$array['id']} en {$array['title']}

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 21:46
code:
1
$woei = "asdasd".$bla['bla']."asdasdasd";

Is netter dan
code:
1
$woei = "asdasd{$bla['bla']}asdasdasd";

omdat je sneller ziet hoe het is opgebouwd.

  • SyphOn
  • Registratie: Juni 2001
  • Laatst online: 05-09 13:01
Op vrijdag 07 juni 2002 13:38 schreef ddc het volgende:
code:
1
$woei = "asdasd".$bla['bla']."asdasdasd";

Is netter dan
code:
1
$woei = "asdasd{$bla['bla']}asdasdasd";

omdat je sneller ziet hoe het is opgebouwd.
Kan dat zomaar? Die { en } door . te vervangen?

Verwijderd

Topicstarter
ik heb weer een probleempje
dit is de foutmelding:
Warning: Supplied argument is not a valid MySQL result resource in /home/pop/andre/HTML/profiles.php on line 25

en dit is de code:
PHP:
1
<?                 $sql = mysql_query("SELECT vraag1,vraag2,vraag3,vraag4,vraag5,vraag6,vraag7,vraag8,vraag9,vraag10,vraag11,vraag12,vraag13,vraag14,vraag15,vraag16 from profiles where 1 and naam like ".$person." LIMIT 0, 30");                   while($array = mysql_fetch_row($sql)){                   extract($array);                ?>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag1"; ?></td>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag2"; ?></td>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag3"; ?></td>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag4"; ?></td>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag5"; ?></td>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag6"; ?></td>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag7"; ?></td>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag8"; ?></td>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag9"; ?></td>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag10"; ?></td>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag11"; ?></td>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag12"; ?></td>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag13"; ?></td>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag14"; ?></td>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag15"; ?></td>                 <td width="100"><b>Naam:</b></td><td width="500"><? print"$vraag16"; ?></td>                <? } ?>

waarom zegt ie dat dan? wat doe ik fout?

  • Grum
  • Registratie: Juni 2001
  • Niet online
print mysql_error();

Je mag zelf ook wel es wat gaan lezen voor je iets post ...

Dit is allemaal manual werk en het is daarnaast af te raden om 'extract' te gebruiken.

Verwijderd

Topicstarter
ja maar dat geeft helemaal geen waarde af

  • Grum
  • Registratie: Juni 2001
  • Niet online
Dan is der dus nix mis met je query en zit je fout ergens anders ...

error_reporting(E_ALL); zeker ook niet gebruikt ?

Verwijderd

Topicstarter
dan blijf die hele pagina leeg... zonder wat dan ook

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 07 juni 2002 19:01 schreef _KaKaRoT_ het volgende:
ja maar dat geeft helemaal geen waarde af
Als ik jou was zou ik hem ook icm or die(); gebruiken, zie de faq bovenin P&W voor uitleg hoe en wat.

Verwijderd

Topicstarter
een kennis van me heeft het opgelost...... er horen nog een zooi </tr><tr> tussen... was zo dom om niet in de source te kijken.

  • Grum
  • Registratie: Juni 2001
  • Niet online
fijn dat daar 9 uur en 26 reacties over gedaan wordt ... zucht ;)
Pagina: 1