Radar911 Skrevet 29. august 2004 Del Skrevet 29. august 2004 (endret) Er ikke sikker på om include funker eller ikke i dette tilfellet, men her er problemet mitt: Har en SQL database med verdiene ID (primærnøkkel), title, year, review, og rating. På den første PHP siden lister jeg opp alle 'title' verdiene. På den andre siden skal alle verdiene til èn ID skrives ut. 'title' verdiene på den første siden skal ha hyperlinker som refererer dem til den andre siden, som skriver ut verdiene basert på hvilken ID den får tilsendt. Kanskje litt vagt forklart, men det er problemstillingen min. Endret 1. september 2004 av Radar911 Lenke til kommentar
LoS Skrevet 29. august 2004 Del Skrevet 29. august 2004 (endret) Hmm, du får med andre ord ikke det til? Selv pleier jeg å gjøre dette ved å sette tittelens id i urlen. På denne måten: <a href="side.php?id=438">Tittel</a> Derav id=tall er f.eks id=$rad["id"] Og da på side.php, bruke denne spørringen: SELECT * FROM tabell WHERE id = '".mysql_escape_string($_GET["id"])."' Som da henter ut all info fra raden der id er det tallet som er satt i urlen. Hvis jeg forstod riktig. eidt: små skrivefeil. Endret 29. august 2004 av LoS Lenke til kommentar
Radar911 Skrevet 30. august 2004 Forfatter Del Skrevet 30. august 2004 Ja, du forstod det helt riktig. Er det noen måte å fetche ID automatisk, ut i fra hvilken title som står, sånn at hele prosessen blir hel-automatisk? Lenke til kommentar
jrz Skrevet 30. august 2004 Del Skrevet 30. august 2004 (endret) err.. $_GET ? Endret 30. august 2004 av zyrtech_ Lenke til kommentar
Torbjørn Skrevet 30. august 2004 Del Skrevet 30. august 2004 gang på gang på gang må det poengteres at man *aldri* skal sette variable fra forhåndsdefinerte arrays inn i sql queryes!! du har ingen kontroll på hva brukreen skriver i adressefeltet, så aldri sett dette direkte inn i ditt query. mysql_escape_string er et hot tips Lenke til kommentar
Radar911 Skrevet 30. august 2004 Forfatter Del Skrevet 30. august 2004 Hvis man kjører mod_rewrite eliminerer man jo sikkerhets-truslene uansett. Lenke til kommentar
Radar911 Skrevet 30. august 2004 Forfatter Del Skrevet 30. august 2004 Hvordan gjør man følgende kode om til linker (f.eks <a href="side.php?id=id-nummeretTildenneTittelen">Tittel Fra Databasen</a>)? while ( $row = mysql_fetch_array($result) ) { echo $row['Title'] . '<br />'; } Lenke til kommentar
Radar911 Skrevet 30. august 2004 Forfatter Del Skrevet 30. august 2004 Noen som har peiling på det siste spørsmålet? Lenke til kommentar
LoS Skrevet 30. august 2004 Del Skrevet 30. august 2004 (endret) while ( $row = mysql_fetch_array($result) ) { echo '<a href="side.php?id='.$row["id"].'">'.$row["Title"].'</a><br />'; } møkkete skrivefeil! Endret 30. august 2004 av LoS Lenke til kommentar
Radar911 Skrevet 31. august 2004 Forfatter Del Skrevet 31. august 2004 (endret) Linkene funker fint, men av en eller annen grunn legger den ikke til id-nummeret til sist (linkene ser slik ut: http://localhost/test/side.php?id=). Beskrivelse av databasen: +--------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+---------+------+-----+---------+----------------+ | ID | int(11) | | PRI | NULL | auto_increment | | Title | text | YES | | NULL | | | Year | int(11) | YES | | NULL | | | Review | text | YES | | NULL | | | Rating | int(11) | YES | | NULL | | +--------+---------+------+-----+---------+----------------+ Den burde jo legge til id-nummeret, men likevel gjør den det ikke. Noen anelse hvorfor? (testa nettopp å skrive ut ID, og det funka fint, men den vil altså ikke legges til linken) Endret 31. august 2004 av Radar911 Lenke til kommentar
Torbjørn Skrevet 31. august 2004 Del Skrevet 31. august 2004 regner med du byttet til $row['ID']? Lenke til kommentar
Radar911 Skrevet 31. august 2004 Forfatter Del Skrevet 31. august 2004 Ooops, er enda litt treg på morgenen. Men uansett, tusen takk for hjelpen! Lenke til kommentar
Torbjørn Skrevet 31. august 2004 Del Skrevet 31. august 2004 det kunne skje den beste Lenke til kommentar
Radar911 Skrevet 31. august 2004 Forfatter Del Skrevet 31. august 2004 Får en error når jeg prøver å kjøre koden LoS først skrev (byttet ut side.php med reviews.php som dere ser): Parse error: parse error, unexpected '"' in C:\Program Files\Apache Group\Apache2\htdocs\test\reviews.php on line 50 $result = @mysql_query('SELECT * FROM reviews WHERE ID = '".mysql_escape_string($_GET['ID'])."' '); eller hvis jeg fjerner klammene: Error performing query: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 $result = @mysql_query('SELECT * FROM reviews WHERE ID = '.mysql_escape_string($_GET['ID']).' '); Lenke til kommentar
Torbjørn Skrevet 31. august 2004 Del Skrevet 31. august 2004 skriv ut queryet før du kører det. Lenke til kommentar
Radar911 Skrevet 31. august 2004 Forfatter Del Skrevet 31. august 2004 (endret) Hva mener du, kan du forklare litt nærmere? Endret 31. august 2004 av Radar911 Lenke til kommentar
Torbjørn Skrevet 31. august 2004 Del Skrevet 31. august 2004 echo 'SELECT * FROM reviews WHERE ID = '".mysql_escape_string($_GET['ID'])."' ' så ser du hvordan queryet ser ut. Lenke til kommentar
Radar911 Skrevet 31. august 2004 Forfatter Del Skrevet 31. august 2004 (endret) parse error, unexpected T_ECHO in reviews.php (kom da jeg skrev inn queryet først) Slik ser koden ut til nå: <?php $result = @mysql_query('SELECT * FROM reviews WHERE ID = '".mysql_escape_string($_GET['ID'])."' '); if (!$result) { die('<p>Error performing query: ' . mysql_error() . '</p>'); } //Test for å se om det virker echo $row['Title'] . '<br />'; ?> Endret 31. august 2004 av Radar911 Lenke til kommentar
Torbjørn Skrevet 31. august 2004 Del Skrevet 31. august 2004 jeg ser ikke noe galt med den koden. det bør være en smal sak å skrive ut et query du lager og sender til en mysqlserver - fiks det! (jeg synes at parse errors er truende nærme nedre grense av hva man skal forvente å få hjelp til av andre) Lenke til kommentar
Radar911 Skrevet 31. august 2004 Forfatter Del Skrevet 31. august 2004 (endret) Ble kvitt parse erroren, men sitter da enda igjen med èn feil: $result = @mysql_query('SELECT * FROM reviews WHERE ID = '.mysql_escape_string($_GET['ID']).' '); if (!$result) { die('<p>Error performing query: ' . mysql_error() . '</p>'); } Error performing query: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 Skjønner at du er irritert på parse errors, men sliter faktisk litt, jeg. Endret 31. august 2004 av Radar911 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå