Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Sql-hjälp

Skapad av Borttagen, 2010-04-15 22:18 i Webbutveckling & Programmering

1 240
16 inlägg
1 poäng
openoffice
Visningsbild
Hjälte 117 inlägg
1
HEj!
Jag har ett problem. Jag vill lägga in två personerns id när de en person besöker den enas profil om inte person 2s id redan ligger i visitorsid där ownerid är samma som person 1 Jag har gjort en kod som ser ut som nedan men jag får det itne att funka
Ett stycke php-kod:

$ownerid = $_GET['id'];
$visitorid = $_SESSION['id'];
mysql_query("INSERT INTO besokare VALUES('','$id','$ownerid') WHERE NOT (visitorid = '$visitorid) AND (ownerid='$ownerid') ") or die(mysql_error());

Ingen status

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

toja92
Visningsbild
P 32 Norrköping Hjälte 2 827 inlägg
0

Svar till openoffice [Gå till post]:

Du hade glömt en apostrof här:
WHERE NOT (visitorid = '$visitorid)

Jag vet inte om det gör någon större skillnad men du kan ju testa att ändra det först.

Now there's a look in your eyes, like black holes in the sky.

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0

Svar till toja92 [Gå till post]:
Nej det funkar fortfarande itne.


Ingen status

eLAJT
Visningsbild
35 Hjälte 2 400 inlägg
0
INSERT INTO besokare VALUES('','$id','$ownerid') WHERE visitorid != '$visitorid' AND ownerid='$ownerid'

Tycker jag borde vara mer korrekt, eller är jag helt ute och cyklar?

wat

Klas-Kenny
Visningsbild
P 31 Växjö Hjälte 12 128 inlägg
0
Får du inget felmeddelande?

Rätt verktyg till rätt arbete - Makaroner äts med sked.

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0

Svar till eLAJT [Gå till post]:
det funkar itne heller



Ingen status

toja92
Visningsbild
P 32 Norrköping Hjälte 2 827 inlägg
0
Svar till openoffice [Gå till post]:

Jag är inte någon expert på Mysql men du måste inte skriva
AND WHERE NOT (ownerid='$ownerid')
istället för
AND (ownerid='$ownerid')

EDIT: Förutsatt att det är så du vill ha det.

Now there's a look in your eyes, like black holes in the sky.

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0

Svar till Klas-Kenny [Gå till post]:
jo men har problem med att tolka det


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 NOT visitorid = '1') AND (ownerid='1')' at line 1



Ingen status

eLAJT
Visningsbild
35 Hjälte 2 400 inlägg
0

Svar till openoffice [Gå till post]:

Men andra kan ha hjälp utav det.

Du har ett fel i din sql-fråga.

Vad hände när du ändrade till det jag skrev?
Ta ALLTID med felmeddelande ifall något inte fungerar, det underlättar.

wat

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0

Svar till eLAJT [Gå till post]:
okej :) då fick jag detta meddelande

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 visitorid!= '1' AND ownerid='1'' at line 1

Ingen status

eLAJT
Visningsbild
35 Hjälte 2 400 inlägg
0

Svar till openoffice [Gå till post]:

Måste man inte ange vars man vill stoppa in värdena?

Alltså:

INSERT INTO besokare (kolumn,id,ownerid) VALUES('','$id','$ownerid') WHERE NOT (visitorid = '$visitorid') AND (ownerid='$ownerid')

Eller behöver man inte det?
Är rätt ny på MySQL så.

wat

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0

Svar till eLAJT [Gå till post]:
Det funkar att göra som jag gjorde.
Jag får in värdena i tabellen när jag kör utan WHERE NOT


Ingen status

toja92
Visningsbild
P 32 Norrköping Hjälte 2 827 inlägg
0

Svar till openoffice [Gå till post]:

Som sagt.
Jag är inte någon expert på Mysql men du måste inte skriva
AND WHERE NOT (ownerid='$ownerid')
istället för
AND (ownerid='$ownerid')
?

Jag förstod inte riktigt hur du vill göra men jag antar att det är det du vill göra.

Now there's a look in your eyes, like black holes in the sky.

eLAJT
Visningsbild
35 Hjälte 2 400 inlägg
0

Svar till openoffice [Gå till post]:

Testa ändra:

WHERE NOT (visitorid = '$visitorid')

Till:

WHERE visitorid NOT '$visitorid'

Aldrig använt just WHERE NOT, men testa dig fram.

wat

gaminggirl
Visningsbild
F 38 Lund Hjälte 8 084 inlägg
0

Svar till toja92 [Gå till post]:
Inte where efter and nej.



Svar till openoffice [Gå till post]:
Om jag läst rätt så borde det bli
INSERT INTO besokare VALUES('', '$id', '$ownerid')
WHERE visitorid != '$visitorid' AND ownerid = '$ownerid'

Ett tips för läslighet, var inte rädd för mellanslag och radbrytning i koden.

Ingen status

Anonymmedlem
Visningsbild
Bitter 9001 inlägg
0
Herregud?
Du kan inte köra WHERE/WHERE NOT på en INSERT, du ska skapa en rad från ingenting, vad ska du jämföra med?

INSERT kan inte ta where-satser, ska du ändra en rad är det UPDATE eller DELETE.

Ta bort WHERE helt så fungerar insert.

Tillägg av moodh 2010-04-23 17:36

Vill du bara inserta om det inte finns en rad med samma värde får du köra en SELECT eller UPDATE+affected_rows() runt om INSERT:en.


Forum » Datorer & IT » Webbutveckling & Programmering » Sql-hjälp

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

2 utloggade

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons