Gå til innhold

Trenger hjelp til et enkelt script. (trenger hjelp)


Anbefalte innlegg

* TRYKK HER FOR PROBLEMET MITT

 

 

 

 

 

 

Ja. Trudde det var enkelt, men det vises ingen feilmeldinger så jeg aner ikke hva som er galt!

 

 

 

Kan dere hjelpe meg ?

 

Problem: jeg kommer til "noe gikk galt"

 

 

Koden:

<?php
error_reporting(E_ALL|E_STRICT);

if(isset($_POST['ja'])) {

$ikke = $_POST['ikke'];

$opdracht = "insert INTO crews values('','$ikke','500000','$cookieusername','0','0')";

$resultaat = mysql_query($opdracht);

if($resultaat) {

echo "du lagde gjengen: <b>$ikke</b>";

}

else {

echo "noe feil skjedde";

}

}
?>
		<form method="post" action="">
		koster 5,000,000 kr
		<br /><b>navn:</b><input type=text name=ikke size=20>
		<br />
		<input type="submit" name="ja" value="lag">
		</form>

Endret av php_user
Lenke til kommentar
Videoannonse
Annonse

insert INTO crews values('','$ikke','500000','$cookieusername','0','0')

Dette er feil, du har ikke spesifisert hvilke felter verdiene skal settes inn i.

 

$opdracht="INSERT INTO crews (felt2,felt3,felt4,felt5,felt6) VALUES ('".$ikke."',500000,'".$cookieusername."',0,0)"

alternativt med sprintf

$opdracht=sprintf("INSERT INTO crews (felt2,felt3,felt4,felt5,felt6) VALUES ('%s',%d,'%s',%d,%d)",$ikke,500000,$cookieusername,0,0)

 

Du trenger ikke å sette tomme verdier, dette kan fikes med default verdier i tabell definisjonen. Og '500000' er tekst, og 500000 er tall, så sett kun ' rundt det som er tekst.

 

mysql_query($opdracht)||die('Insert error: '.mysql_error());

i stedet for

 

resultaat = mysql_query($opdracht);

if($resultaat) {

echo "du lagde gjengen: <b>$ikke</b>";

}

else {

echo "noe feil skjedde";

}

Endret av Crowly
Lenke til kommentar

Du har mest sannsynlig en feil i databasespørringen.

Se over sql-spørringen din og skriv ut evt feilmeldinger med mysql_error().

 

F.eks

if ($resultaat) {
echo "du lagde gjengen: <b>$ikke</b>";
}
else {
echo 'Det har oppstått en feil ved spørring' .  mysql_error();
}

 

Btw. det er ikke nødvendig å bruke fnutter rundt numeriske verdier i spørringen

$opdracht = "insert INTO crews values('', '$ikke', 500000,'$cookieusername', 0, 0)";

 

Jeg gjetter at feilen er at du prøver å legge inn verdien '' inn i en pimærnøkkel med autoincrement, dvs første kolonnen i tabellen crews.

Kan du vise oss tabellen crews med datatyper?

 

Edit: Så ikke innlegget til Crowly før jeg posta dette...

Endret av Zandar
Lenke til kommentar
insert INTO crews values('','$ikke','500000','$cookieusername','0','0')

Dette er feil, du har ikke spesifisert hvilke felter verdiene skal settes inn i.

 

Det er ikke nødvendig å spesifisere hvilke felter verdiene skal settes inn i, men det er å foretrekke.

Dersom man ikke spesifiserer hvilke felter som skal settes må man sette en verdi for alle feltene i tabellen. Felter som har en default verdi kan settes med DEFAULT i spørringen.

F.eks

insert INTO crews values(DEFAULT, '$ikke', 500000, '$cookieusername', DEFAULT, DEFAULT)

Dette forutsetter dog at man har gitt de feltene det er snakk om en default verdi i databasetabellen.

 

Uansett så er det best å spesifisere hvilke felter som skal gis verdi i spørringen og la databasen ta seg av default-verdier.

Ville bare vise at det ikke er et krav eller feil :)

Endret av Zandar
Lenke til kommentar

Takk for svarene :) Skal se på dem nå ;)

 

 

 

 

if ($resultaat) {
echo "du lagde gjengen: <b>$ikke</b>";
}
else {
echo 'Det har oppstått en feil ved spørring' .  mysql_error();
}

 

 

Da kom denne meldingen opp:

Column count doesn't match value count at row 1

 

 

 

EDIT *

 

Fant ut av det hele! :)

 

Bytta ut mysql-insettingen med denne:

$opdracht = "insert INTO crews (id,name,boss,bank,recruiter,cleaner,rang) values('','$ikke','$cookieusername','500000','0','0','0')";

Endret av php_user
Lenke til kommentar

Men nå ha jeg et nytt problem:

 

 

I samme kode. For at brukeren skal kunne få gjeng, så skal jeg sette inn id'en til gjengen inn til tabbelen users inn i raden til brukeren som heter crew. Hvordan skal jeg gjøre dette ?

 

 

 

 

Prøvde selv, men gikk ikke..

 

Feilmelding:

Notice: Undefined variable: w in C:\wamp\www\mafia\sider\crew.php on line 73

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\mafia\sider\crew.php on line 73
feil: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 'where username='administrator'' at line 1

 

 

 

 

koden til nå:

 

 

<?php
error_reporting(E_ALL|E_STRICT);

if(isset($_POST['ja'])) {

$ikke = $_POST['ikke'];

$opdracht = "insert INTO crews (id,name,boss,bank,recruiter,cleaner,rang) values('','$ikke','$cookieusername','500000','0','0','0')";


$resultaat = mysql_query($opdracht);

if($resultaat) {

echo "du lagde gjengen: <b>$ikke</b><br><br><form action=\"\" method=\"POST\"><input type=\"submit\" name=\"fortsett\" value=\"Trykk her, for å få gjengen!\"></form>";

}

else {

echo 'Det har oppstått en feil ved spørring' .  mysql_error();

}

if(!isset($_POST['fortsett'])) {

$v = mysql_fetch_array($w);
$id = $v['id'];
$w = "SELECT * FROM crew where id='$id'";

$z = "INSERT INTO users (crew) values ('$id') where username='$cookieusername'";
$resultat = mysql_query($z);

if($resultat) {

echo "test";

}

else {
echo "feil:" . mysql_error();
}

}

}
?>

 

 

 

 

Hjelp ? :)

Endret av php_user
Lenke til kommentar

Du må kjøre en spørring med mysql_query() og legge det i $w. Hva for en spørring aner jeg ikke, for jeg har ingen anelse om hva det er meningen koden din skal gjøre. Jeg har samtidig en liten anelse om at ikke heller du vet hva den skal gjøre ..

Lenke til kommentar
Lest trådene eller ? :p

Eh, nei - du skriver i første post SE SISTE POSTEN MIN, FOR PROBLEMET! (I caps) Har du for øvrig flere tråder du forventer at en skal lese for å forstå problemstillingen din?

 

Edit: Det er i tillegg lite lurt å redigere koden din, uten å oppdatere hva slags feil/feilmelding du erfarer.

Endret av Jonas
Lenke til kommentar

Vis du hadde lest siste posten min, når du så den meldingen. Hadde du forstått problemet!

 

 

 

 

"Edit: Det er i tillegg lite lurt å redigere koden din, uten å oppdatere hva slags feil/feilmelding du erfarer."

 

 

Så du mener jeg ikke burde prøve selv ?

Endret av php_user
Lenke til kommentar
"Edit: Det er i tillegg lite lurt å redigere koden din, uten å oppdatere hva slags feil/feilmelding du erfarer."

 

 

Så du mener jeg ikke burde prøve selv ?

Er dette en vits? Jeg mener du ikke skal redigere koden i INNLEGGET ditt, fordi det ikke lenger samsvarer med feilmeldingen du legger med. Selvsagt vil jeg at du skal kode selv, det hadde vært en fornøyelse om du ikke bare hadde spurt om kode på sølvfat uten å lære noe selv.

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...