1King Skrevet 26. november 2007 Del Skrevet 26. november 2007 Heisann. Lurer på den beste måten å hente informasjon fra MySql når jeg bare skal ha en linje og der id(nøkkel) = $id... Jeg har prøvd $les_cd="SELECT * FROM tbl_cd WHERE '$id'=cd_id"; $res_cd=mysql_query($les_cd, $db) or die("Feil: ".mysql_error()); $cd_id = mysql_result($res_cd, $i, "cd_id"); $cd = mysql_result($res_cd, $i, "cd"); $spor = mysql_result($res_cd, $i, "spor"); $sang = mysql_result($res_cd, $i, "sang"); $artist = mysql_result($res_cd, $i, "artist"); echo $cd_id.'<br>'; echo $cd.'<br>'; echo $spor.'<br>'; echo $sang.'<br>'; echo $artist.'<br>'; ?> Jeg får følgende feil melding: Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index ....... in ......./cd.php on line .... Lenke til kommentar
Stian Jacobsen Skrevet 26. november 2007 Del Skrevet 26. november 2007 $les_cd="SELECT * FROM tbl_cd WHERE cd_id=$id"; Lenke til kommentar
Anders Moen Skrevet 26. november 2007 Del Skrevet 26. november 2007 Jeg vil tro at denne funker: $id = intval($_GET['id']); $les_cd = mysq_query("SELECT * FROM tbl_cd WHERE id = '$id'") or die('Error: ' . mysql_error()); Legg også merke til at jeg tok bort selve querien fra linje 2, og inn på den første linja, så sparte du den lille linja hehe Lenke til kommentar
itsmebth Skrevet 26. november 2007 Del Skrevet 26. november 2007 Hva er $i? Hvorfor bruker du mysql_result? mysql_fetch_row er mye raskere. Lenke til kommentar
1King Skrevet 26. november 2007 Forfatter Del Skrevet 26. november 2007 Hva er $i?Hvorfor bruker du mysql_result? mysql_fetch_row er mye raskere. Fordi jeg ikke kan noe annet. holder på å lære og prøver. Kanskje du kan vise meg hvordan jeg kan bruke mysql_fetch_row funksjonen. Lenke til kommentar
Runar0 Skrevet 26. november 2007 Del Skrevet 26. november 2007 (endret) Her har du samme koden ved bruk av mysql_fetch_array, mysql_fetch_object fungerer på samme måte men du vil da få ut eit objekt : $les_cd="SELECT * FROM tbl_cd WHERE cd_id=$id"; $res_cd=mysql_query($les_cd, $db) or die("Feil: ".mysql_error()); $cd = mysql_fetch_array($res_cd); echo $cd['cd_id'].'<br>'; echo $cd['cd'].'<br>'; echo $cd['spor'].'<br>'; echo $cd['sang'].'<br>'; echo $cd['artist'].'<br>'; ?> itsmebth: mysql_fetch_row er vel omtrent like dumt som mysql_result... Tenk deg at du legger inn eit ekstra felt mellom cd_id og cd (det blir som å bruke insert uten å sepsifisere kvaslags felt du bruker). Endret 26. november 2007 av Runar0 Lenke til kommentar
1King Skrevet 26. november 2007 Forfatter Del Skrevet 26. november 2007 Her har du samme koden ved bruk av mysql_fetch_array, mysql_fetch_object fungerer på samme måte men du vil da få ut eit objekt : $les_cd="SELECT * FROM tbl_cd WHERE cd_id=$id"; $res_cd=mysql_query($les_cd, $db) or die("Feil: ".mysql_error()); $cd = mysql_fetch_array($res_cd); echo $cd['cd_id'].'<br>'; echo $cd['cd'].'<br>'; echo $cd['spor'].'<br>'; echo $cd['sang'].'<br>'; echo $cd['artist'].'<br>'; ?> itsmebth: mysql_fetch_row er vel omtrent like dumt som mysql_result... Tenk deg at du legger inn eit ekstra felt mellom cd_id og cd (det blir som å bruke insert uten å sepsifisere kvaslags felt du bruker). Takk. Du sier dette er omtrent like dumt. Hva er den beste løsningen du vet når jeg skal hente info MySql ? Jeg vil nå prøve løsningen du har kommet med også ser jeg om jeg får noe feil. Lenke til kommentar
Martin A. Skrevet 26. november 2007 Del Skrevet 26. november 2007 Den beste måten er å bruke mysql_fetch_assoc(). Koden blir da $les_cd = "SELECT * FROM tbl_cd WHERE cd_id={$id}"; $res_cd = mysql_query( $les_cd, $db ) or die( "Feil: ".mysql_error() ); $cd = mysql_fetch_assoc( $res_cd ); echo "{$cd['cd_id']}<br />"; echo "{$cd['cd']}<br />"; echo "{$cd['spor']}<br />"; echo "{$cd['sang']}<br />"; echo "{$cd['artist']}<br />"; ?> Grunnen er at mysql_fetch_array() innholder resultatene til både mysql_fetch_assoc() og mysql_fetch_row(), med mindre du spesifiserer det i funksjonskallet. Lenke til kommentar
Peter Skrevet 27. november 2007 Del Skrevet 27. november 2007 I det hele tatt ganske håpløst å bruke mysql_ i disse dager. Bruk mysqli eller PDO om du kan. Lenke til kommentar
1King Skrevet 28. november 2007 Forfatter Del Skrevet 28. november 2007 I det hele tatt ganske håpløst å bruke mysql_ i disse dager.Bruk mysqli eller PDO om du kan. Hva som er forskjellen og er det webhoteller som har dette? Jeg bruker mysql grunnet webhotellet har støtte for php og MySql. Lenke til kommentar
Peter Skrevet 28. november 2007 Del Skrevet 28. november 2007 I det hele tatt ganske håpløst å bruke mysql_ i disse dager.Bruk mysqli eller PDO om du kan. Hva som er forskjellen og er det webhoteller som har dette? Jeg bruker mysql grunnet webhotellet har støtte for php og MySql. Mysqli er fortsatt mysql, bare med en nye klientversjon med støtte for ny funksjonalitet i mysql. Mysqli står for "Mysqli improved". Mer her: http://no.php.net/mysqli Stort sett kan du bare gjøre alle mysql_-kallene om til mysqli_-kall, men det lønner seg å sette seg inn i å bruke kompilerte statements (eks. http://no.php.net/manual/en/function.mysqli-prepare.php) da dette vil redusere faren for sql injections ganske mye, samtidig som hastigheten kan gå opp. 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å