Avatar billede tangveje Nybegynder
06. januar 2003 - 17:58 Der er 6 kommentarer og
1 løsning

Problem med foreach

Hej... Jeg har et problem med denne kode

$query = mysql_query( "SELECT * FROM pages WHERE id = '$id'" ) ;
$data = mysql_fetch_assoc( $query ) ;

foreach ( $data as $key => $value ) {
    $data[$key] = str_replace( "&", "&", $value ) ;
    $data[$key] = str_replace( "</textarea>", "[/textarea]", $value ) ;

    echo $data[$key] . "<br>" ;
}

Problemet er at den ikke gør hvad jeg ville forvente. Meningen er at den skal køre hele $data arrayet igennem, og erstatte de par ting, hvilket den ikke gør.

Nogen der kan finde fejlen?
Avatar billede da_nigga Nybegynder
06. januar 2003 - 18:02 #1
Er id et tal felt?
Så skal du ikke have ' omkring $id
Avatar billede da_nigga Nybegynder
06. januar 2003 - 18:03 #2
Lige for at specificere
Din query skal se sådan her ud:
"SELECT * FROM pages WHERE id = $id"
Avatar billede tangveje Nybegynder
06. januar 2003 - 18:08 #3
da_nigga > Der er ingen problemer med min query, den er kun taget med her for at i kan se hvor $data kommer fra :) Problemet er at den åbenbart ikke laver de erstatninger den skal i løkken.

Desuden kan der sagtens være ' omkring $id, det er bare ikke nødvendigt, men jeg har bare gjort det til en vane :)
Avatar billede Slettet bruger
06. januar 2003 - 18:09 #4
da_nigga: (uheldigt nickname iøvrigt) - det er ligegyldigt. man kan godt anvende ' omkring talværdier også (faktisk er det ofte smart at gøre aht. til sql-injection).

foreach ( $data as $key => $value ) {
    $data[$key] = str_replace( "&", "&amp;", $value );
    $data[$key] = str_replace( "</textarea>", "[/textarea]", $data[$key] );
    echo $data[$key] . "<br>" ;
}
Avatar billede Slettet bruger
06. januar 2003 - 18:10 #5
Eller du kan også bare skifte $data[$key] ud med $value ALLE steder i ovenstående.
Avatar billede tangveje Nybegynder
06. januar 2003 - 18:12 #6
mercur8 > Takker, det hjalp :)
Avatar billede da_nigga Nybegynder
06. januar 2003 - 18:50 #7
Uheldigt navn, ja, gammelt, meget, gider ændre det, nix.
Men det var så off topic.

Med hensyn til apostrofer, plinger, whatever i SQL sammenhæng, så er det ikke lige godkendt over alt. Plinger anvendes til at angive tekst værdier, ikke tal.

Men nogen skal jo være udenfor :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester