Rinox Skrevet 7. april 2007 Del Skrevet 7. april 2007 (endret) Jeg har et lite problem i syntaksen min i denne koden: <?php ob_start(); include('config.php'); if(!$logged[username]) { echo("Du er ikke innlogget!"); } # If User Isnt Logged In else{ mysql_query("DELETE FROM fight_list WHERE `timestamp` < " . (time() - 60)) or die(mysql_error()); echo("Brukere som er klare for kamp:<br><br>"); echo("<form action='?side=fightlist&go=fightlist&act=nykamp' method='post'><input type='submit' value='Gå til kamp!' /></form>"); switch($_GET[act]) { case 'nykamp': $bruker_id = mysql_query("SELECT id FROM users WHERE brukernavn = ". $logged[username]); mysql_query("INSERT INTO fight_list (id ,`timestamp`) VALUES(" . $bruker_id . ", " . time() . " )") or die(mysql_error()); echo("Du er for svak til å gå til kamp. Du må trene mer."); break; } } ?> Siden jeg har brukt mysql_error får jeg denne feilmeldingen: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 1175983382 )' at line 1 På grunn av denne erroren blir ingenting lagt til i tabellen... Vet noen hva som kan være feilen her? Jeg tror jeg fant ut hvorfor infoen ikke vil legges inn i tabellen... Jeg kjørte denne spøørringen: $bruker_id = mysql_query("SELECT id FROM users WHERE username = ". $logged[username]) or die(mysql_error()); Da fikk jeg denne feilmeldingen: Unknown column 'Rinox' in 'where clause' På grunn av denne feilen kunne ikke feltet for id fylles inn og dermed stoppet spørringen... Men er det noen som vet hva den feilmeldingen skyldes og hvordan det kan fikses? For hvis jeg fikser den fikses alt... Takker for svar Endret 7. april 2007 av Rinox Lenke til kommentar
tehextinct Skrevet 7. april 2007 Del Skrevet 7. april 2007 Skjønte ikke helt hva feilen vare der, nei Men mafia spill du lager xD? Lenke til kommentar
Rinox Skrevet 7. april 2007 Forfatter Del Skrevet 7. april 2007 Mafiaspill? Huff a meg! Den ideen er brukt opp og ødelagt! Jeg lager mitt eget lille lokale spill på localhost. Hvis ikke du vet hva feilen er det egentlig liten grunn til å poste noe da.. Noen her som vet hva det kan komme av? Lenke til kommentar
Peter Skrevet 8. april 2007 Del Skrevet 8. april 2007 (endret) Du må nok ha ' rundt verdien du legger inn i username, det er kun tall hvor du ikke trenger dette. (Såvidt jeg husker) Dessuten bruker du feltet "brukernavn" i èn spørring og "username" i den andre. Og du kan ikke bruker $bruker_id slik som du gjør. mysql_query returnerer et resultatsett som du må henter brukeriden fra. Endret 8. april 2007 av Nazgul Lenke til kommentar
Martin A. Skrevet 8. april 2007 Del Skrevet 8. april 2007 PHP mysql_query("DELETE FROM fight_list WHERE `timestamp` < " . (time() - 60)) or die(mysql_error()); Er vel en ) for mye der. (time() - 60)). Lenke til kommentar
Rinox Skrevet 8. april 2007 Forfatter Del Skrevet 8. april 2007 Nei, ingenting virker hittil... Det er bare spørringen i variabelen som det er noe galt med nå... Hvordan mener du jeg skal gjøre det Nazgul? mysql_fetch_array? Lenke til kommentar
Martin A. Skrevet 11. april 2007 Del Skrevet 11. april 2007 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 1175983382 )' at line 1 Der sier den at det er en feil ved "1175983382 )". Det er ett timestamp som i normalt format blir 08.04.2007 00:03:02. Ergo, feilen din er der. $bruker_id = mysql_query("SELECT id FROM users WHERE username = '$logged[username]') or die(mysql_error()); Er kun i echo()/print() man må "hoppe ut av php-mode" for å skrive ut innholdet av en variabel ( echo "blablabla " . $foo . " feks). Jeg ville uansett hentet ut id når man logger inn, og lagd det inn i en session/cookie. Lenke til kommentar
grimjoey Skrevet 15. april 2007 Del Skrevet 15. april 2007 $bruker_id = mysql_query("SELECT id FROM users WHERE username = '$logged[username]') or die(mysql_error()); Du mangler sluttquote (") og semicolon ( i SQL queryen. Samme gjelder fight_list queryen. rinox: du må bruke en av mysql_fetch_ metodene for å hente data ut av ett mysql_query() resultat Er kun i echo()/print() man må "hoppe ut av php-mode" for å skrive ut innholdet av en variabel ( echo "blablabla " . $foo . " feks). det skal ikke være noen forskjell på echo, print, mysql_query eller noen annen funksjon vedrørende syntaksen og tegnbruk. jeg har lagt merke til følgende: dobbelquotes (") lar deg entre $variabel i en streng og innholdet i variabelen blir returnert. Man kan også bruke singlequotes inne i en dobbelquoted streng og få de returnert utolket. "\n" fungerer som en newline (crlf) singlequotes (') krever at man legger variabelen utenfor slik som 'tekst'.$variabel.'tekst' '/n' fungerer ikke som newline. mange tegn må "escapes" dvs tegn x må skrives som \x for ikke å blir tolket. sikkert mange andre forskjeller.. alt står i manualen 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å