Avatar billede hagger Nybegynder
22. maj 2009 - 11:19 Der er 8 kommentarer og
1 løsning

Henter ikke fra database.

Hejsa..

Kan i fortælle mig hvad der er galt med følgende kode. Han fundet ud af at det er der hvor jeg henter fra databasen at der er en fejl..

Kode:

<?
if ($ting1 = "") {
echo "";
} else {
$select = mysql_query("SELECT * FROM items WHERE (owner='$navn1') AND (navn='$ting1') LIMIT 1");
$row = mysql_fetch_array($select);

mysql_query("UPDATE items SET owner=$navn2 WHERE(id='$row[id]')");
echo "";
}
?>
Avatar billede ohhelpme Nybegynder
22. maj 2009 - 11:47 #1
har du husket database oplysningerne fx.

$mysql_id = mysql_connect('host', 'user', 'pass');
mysql_select_db($mysql_id, 'name');
Avatar billede michael_stim Ekspert
22. maj 2009 - 12:29 #2
Hvor får du $navn2 fra?

mysql_query("UPDATE items SET owner='". $navn2 ."' WHERE(id=". $row['id'] .")");
Avatar billede michael_stim Ekspert
22. maj 2009 - 12:30 #3
Og paranteserne gør hverken fra eller til:
mysql_query("UPDATE items SET owner='". $navn2 ."' WHERE id=". $row['id'] ."");
Avatar billede hagger Nybegynder
22. maj 2009 - 13:39 #4
Jeg har husket at connecte til databasen.

Koden er til et slags byttesystem. Så $navn1 er navnet på en af de brugere der bytter og $navn2 er navnet på den anden bruger der bytter.

Jeg har fundet ud af at hvis jeg fjerner "AND (navn='$ting1'" så kan den godt hente fra databasen, men når jeg sætter det ind, er der åbenbart noget galt. Det er meget vigtigt at jeg også får det med, for ellers henter den alle tingene der er på en bruger..
Avatar billede michael_stim Ekspert
22. maj 2009 - 14:32 #5
1. Skriv din SQL ud på siden (echo) i stedet for at køre den
2. Prøv at sætte $row = mysql_fetch_array($select) ind i en while
3. Du bliver nød til at komme med noget mere kød på benene (fejlmeddelelser osv)
Avatar billede dkfire Nybegynder
23. maj 2009 - 11:42 #6
Du kunne prøve at til sætte "or die(mysql_error())" efter din mysql_query.

$select = mysql_query("SELECT * FROM items WHERE (owner='$navn1') AND (navn='$ting1') LIMIT 1") or die(mysql_error());
Avatar billede cronick Nybegynder
23. maj 2009 - 19:17 #7
<?
if ($ting1 = "") {
echo "";
} else {
$select = mysql_query("SELECT * FROM items WHERE (owner='".$navn1."') AND (navn='".$ting1."') LIMIT 1")or die(mysql_error());
$row = mysql_fetch_assoc($select);

mysql_query("UPDATE items SET owner='$navn2."' WHERE(id='".$row['id']."')")or die(mysql_error());
echo "";
}
?>
Avatar billede cronick Nybegynder
23. maj 2009 - 19:19 #8
<?
if ($ting1 = "") {
echo "";
} else {
$select = mysql_query("SELECT * FROM items WHERE (owner='".$navn1."') AND (navn='".$ting1."') LIMIT 1")or die(mysql_error());
$row = mysql_fetch_assoc($select);

mysql_query("UPDATE items SET owner='".$navn2."' WHERE id='".$row['id']."')")or die(mysql_error());
echo "";
}
?>

***
Avatar billede hagger Nybegynder
25. maj 2009 - 15:05 #9
Jeg fandt en anden måde at gøre det på. Men tak for svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester