Rinox Skrevet 17. juni 2007 Del Skrevet 17. juni 2007 Hei! Jeg har en kode, men jeg får en merkelig feilmelding som jeg ikke forstår. Koden: $sql = mysql_query("SELECT * FROM bekledd_rustning WHERE id = " . $bruker_id) or die(mysql_error()); $itemname = mysql_fetch_array($sql); $sql = mysql_query("SELECT * FROM items WHERE name = '" . $itemname['våpen'] . "'") or die(mysql_error()); $iteminfo = mysql_fetch_array($sql); $sql = mysql_query("SELECT * FROM uses_items WHERE username = '" . $brukernavn . "' AND itemname = '" . $itemname['våpen'] . "'") or die(mysql_error()); $items = mysql_fetch_array($sql); mysql_query("UPDATE bekledd_rustning SET våpen = '' WHERE id = $bruker_id"); if ($items['antall'] >= 1){ mysql_query("UPDATE uses_items SET antall = (antall + 1) WHERE username = '" . $brukernavn . "' AND itemname = '" . $itemname['våpen'] . "'"); } else{ mysql_query("INSERT INTO uses_items (id, username, itemname, itemimage, type) VALUES('" . $iteminfo['id'] . "', '" . $brukernavn . "', '" . $iteminfo['name'] . "', '" . $iteminfo['type'] . "')") or die(mysql_error()); } Feilmeldingen: Column count doesn't match value count at row 1 Håper noen vet hva som er galt og hvordan jeg kan fikse det Hva betyr det? Lenke til kommentar
mpolden Skrevet 17. juni 2007 Del Skrevet 17. juni 2007 (endret) Den siste spørringen mangler en variabel/verdi for `itemimage`. "INSERT INTO uses_items (id, username, itemname, itemimage, type) VALUES('" . $iteminfo['id'] . "', '" . $brukernavn . "', '" . $iteminfo['name'] . "', '" . $iteminfo['type'] . "') Eksempel: "INSERT INTO uses_items (id, username, itemname, itemimage, type) VALUES('$iteminfo["id"]', '$brukernavn', '$iteminfo["name"]', '$itemimage', '$iteminfo["type"]') Endret 17. juni 2007 av darkadmin Lenke til kommentar
Yaricks Skrevet 17. juni 2007 Del Skrevet 17. juni 2007 Feilen er at du requester en rad i mysql databasen som ikke eksisterer! Du requester en mer enn det eksisterer! Kort sagt. Lenke til kommentar
Rinox Skrevet 17. juni 2007 Forfatter Del Skrevet 17. juni 2007 Takk, til begge to Jeg klarte å fikse feilen med en gang nå og jeg har lært med en ny feilmelding Lenke til kommentar
Rinox Skrevet 17. juni 2007 Forfatter Del Skrevet 17. juni 2007 (endret) En liten ting til... Jeg har denne koden: echo '<form action="?side=rustning&go=rustning&act=byttRustning" method="post"> <select name="rustning">'; $sql = mysql_query("SELECT * FROM uses_items WHERE username = '" . $brukernavn . "' AND (type = rustning_hode OR type = rustning_bryst OR type = rustning_bein OR type = rustning_fot OR type = rustning_skjold) ORDER BY itemname") or die(mysql_error()); while($nyrustning = mysql_fetch_array($sql)){ echo '<option value="' . $nyrustning['itemname'] . '">' . $nyrustning['itemname'] . '</option>'; } echo ' </select> <input type="submit" name="submit" value="Bytt"> </form>'; Der det er grønt satt jeg nettopp på en mysql_error fordi ingenting vises i listen uansett hva. Den la jeg til etter "OR type = rustning_skjold) ORDER BY itemname")". Da fikk jeg ikke opp noen feilmelding, men die-funksjonen virket og stoppet resten av scriptet. Noen som vet hvorfor eller hvordan jeg kan fikse det slik at det faktisk vises ting i nedtrekkslisten? Endret 17. juni 2007 av Rinox Lenke til kommentar
-morten Skrevet 18. juni 2007 Del Skrevet 18. juni 2007 Du må ha anførselstegn rundt strengverdier i SQL. WHERE type = 'rustning_fot' osv. Her kan du også bruke IN-betingelsen: AND type IN ('rustning_fot', 'rustning_skjold', 'osv') 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å