Gå til innhold

[Løst] Den samme kodesnutten jeg har brukt på resten av nettsiden, fungerer ikke her


Anbefalte innlegg

Skrevet (endret)

Jeg har en nettside der jeg flere ganger kaller:

 

 $result = mysqli_query($con,"SELECT * FROM languages WHERE by=" . $_SESSION['memberID']);
 $number = 0;
while($row = mysqli_fetch_array($result)) {
echo "<input type='hidden' name='language" . $number . "' value='" . $row['name'] . "'>";
$number++;
}

 

Det er forskjellig sql-spørringer, men ellers er alt likt. Det er bare at akkurat på denne kodesnutten blir $result noe annet enn forventet.

 

Feilmeldingen er på vedlagt fil.

 

Databasen åpnes øverst i filen, og lukkes nederst.

 

Hva er galt?

post-221386-0-95822300-1365440913_thumb.png

Endret av herdon
Videoannonse
Annonse
Skrevet (endret)

Ja, du får tilbake en boolean istedenfor et resultset, står det. Kan det tenkes at verdien til og med er false? I såfall ligger det antagelig en feilmelding og venter på å bli hentet ut:

 

http://php.net/manua...ysqli.query.php

 

Har du prøvd å kjøre spørringen direkte i mysql? Da får du se eventuelle feilmeldinger på direkten.

Endret av quantum
Skrevet (endret)

Du kan legge til en if settning med is_resource() (så lenge du kjører en sql som skal returnere en resource, se quote lengre ned)

$result = mysqli_query($con,"SELECT * FROM languages WHERE by=" . $_SESSION['memberID']);
$number = 0;
if (is_resource($result)) {
   while($row = mysqli_fetch_array($result)) {
       echo "<input type='hidden' name='language" . $number . "' value='" . $row['name'] . "'>";
       $number++;
   }
}
else {
   // query feilet, håndter feil her
   echo mysqli_error($con); // bør kun brukes under debugging, fjernes for når siden går live/i produksjon. Kan være at informasjon som ikke bør være tilgjengelig for uvedkommende blir vist.
}

 

mysqli_query returerer forskjellige verdier i forhold til hva slag sql setning du kjører

Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.

Endret av Crowly
Skrevet

Takk, jeg tror grunnen til at den returnerte false var at det foreløpig ikke var noen rader med den riktige id'en.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...