Gå til innhold

Resource ID #5 - Hva er dette?


Anbefalte innlegg

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

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+142

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 :D

Endret av Slettet+142
Lenke til kommentar

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 av G2Petter
Lenke til kommentar
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.

Lenke til kommentar

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));

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...