G2Petter Skrevet 11. januar 2007 Skrevet 11. januar 2007 Jeg er rimelig fersk på PHP, og i kombinasjon med min totale mangel på MySQL-kunnskap, er dette nødt til å gå galt ... Som øvingsoppgave prøver jeg å lage en blogg. Jeg har en funksjon, get_entry_by_id($id), som skal hente ut 'entry' og 'entry_title' basert på 'entry_id' i databasen: function get_entry_by_id ($id) { require_once ("connect_and_select.php"); $query = "SELECT entry_title, entry FROM blog WHERE entry_id = $id"; $entry = array (mysql_query ($query)); return $entry; } Dette returnerer "Resource ID #5" når jeg forsøker å skrive ut det funksjonen returnerer. Er det noen som kan se hva jeg gjør galt? Hilsen g2petter
Blib Skrevet 11. januar 2007 Skrevet 11. januar 2007 http://no2.php.net/manual/en/function.mysql-fetch-assoc.php Kjør en slik fetch istedenfor "array("
Gjest Slettet+142 Skrevet 11. januar 2007 Skrevet 11. januar 2007 (endret) vet ikke om du har funnet det ut, men tror isåfall at det er dette du vil ha? function get_entry_by_id ($id) { require_once ("connect_and_select.php"); $query = "SELECT entry_title, entry FROM blog WHERE entry_id = $id"; $entry = mysql_fetch_array( (mysql_query ($query)); return $entry; } bruker mysql_fetch_array() fordi at jeg ikke vet om han skal hente array med $entry[0] eller $entry[felt] ... benytter du deg av $entry[felt], kan du like gjerne bruke mysql_fetch_assoc() som Blib sier, istedenfor mysql_fetch_array() da også lurt å legge til en LIMIT 1 i slutten av SQL Queryen btw, post nr. 800 Endret 11. januar 2007 av Slettet+142
G2Petter Skrevet 11. januar 2007 Forfatter Skrevet 11. januar 2007 (endret) Takk for begge svar, jeg skal prøve nå. Forresten: har du fått spilt noe Wii i ferien, Blib? Edit: entry_id er primary key, og har auto_increment, så det skal vel ikke være mulig å få mer enn én rad som matcher entry_id? Ikke det at jeg ikke skjønner hvorfor det kan være kjekt å lære seg å bruke LIMIT, jeg bare lurer på om det har noe å si her. Funksjonen fungerte. Jeg brukte assoc; synes det blir lettere å holde oversikten når jeg har navn og ikke bare tall i arrayet. Takk for hjelpa. Endret 11. januar 2007 av G2Petter
magicgunnar Skrevet 12. januar 2007 Skrevet 12. januar 2007 Dette returnerer "Resource ID #5" når jeg forsøker å skrive ut det funksjonen returnerer. Når Resource ID blir skrevet ut på skjermen betyr det vanligvis at variabelen du skriver ut er en array eller et object, da kan du bruke print_r($variabel); men om du bruker print_r() så husk at hvis du har et database-object kan det inneholde f.eks passord til databasen som dermed blir skrevet ut til brukeren.
G2Petter Skrevet 14. januar 2007 Forfatter Skrevet 14. januar 2007 Jeg hadde egentlig gjort det, men jeg fant ut at jeg brukte det feil: print_r ("$variabel"); i stedet for print _r ($variabel); Forresten: hva er syntaksten for å putte alle entries fra en kolonne i en array? Jeg tenker på noe sånt: $query = SELECT * FROM kolonne; $variabel = array (mysql_query ($query));
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å