Avatar billede chsk Nybegynder
05. december 2003 - 14:38 Der er 10 kommentarer og
1 løsning

INSERT INTO (Hvis den ikke findes allerede) Kan man det ?

Jeg har et script hvor jeg laver hele sitet i en fil, med tables.
Dvs der bliver sat et (flag) og siden kalder sig selv. Det virker fint. Jeg bruger "post" -  men hvis brugeren kommer til at trykke på opdater, ja så bliver queryen udført igen og på min display side, og så bliver de samme data igen sendt til databasen.

Kan man komme uden om dette evt. ved en anden for for query
Eller er der en anden måde at gribe det an ?

Christian Skovengaard
Avatar billede websmith Nybegynder
05. december 2003 - 14:40 #1
Hvis du bruger MS SQL, så kan du bruge:

if not (EXISTS SELECT x from dintabel)
BEGIN
DIn INSERT STATEMENT
END
Avatar billede chsk Nybegynder
05. december 2003 - 14:45 #2
øh - Vil du prøve at skrive det i mit ex.
Inserten ser således ud :

if (isset($SendPost)) {
$query = mysql_query("INSERT INTO chsk_share SET
        Titel='$Titel', Tekst='$Tekst'")
;

}
Avatar billede websmith Nybegynder
05. december 2003 - 14:48 #3
f (isset($SendPost)) {
$query = mysql_query("IF NOT EXITST(SELECT * from chsk_share where Titel='$Titel' AND Tekst='$Tekst') BEGIN Titel=INSERT INTO chsk_share (Tital,Tekst) VALUES('$Titel','$Tekst') END")
;

}
Avatar billede websmith Nybegynder
05. december 2003 - 14:48 #4
UPS Minor mistake :)

if (isset($SendPost)) {
$query = mysql_query("IF NOT EXITST(SELECT * from chsk_share where Titel='$Titel' AND Tekst='$Tekst') BEGIN INSERT INTO chsk_share (Tital,Tekst) VALUES('$Titel','$Tekst') END")
;

}
Avatar billede chsk Nybegynder
05. december 2003 - 14:52 #5
hmm. nu vil den ikke oprette noget som helst ?
Avatar billede websmith Nybegynder
05. december 2003 - 14:55 #6
Og du bruger Microsoft SQL server ???

Der er endnu en fejl i sql'en jeg havde skrevet Tital i stedet for Titel. HEr er en rettelse:

if (isset($SendPost)) {
$query = mysql_query("IF NOT EXITST(SELECT * from chsk_share where Titel='$Titel' AND Tekst='$Tekst') BEGIN INSERT INTO chsk_share (Titel,Tekst) VALUES('$Titel','$Tekst') END");

}
Avatar billede chsk Nybegynder
05. december 2003 - 14:57 #7
Sorry - jeg er ikke den hurtigste Hare i skoven, til dett - men

Apache server. ikke MS SQL SERVER...
Kan man stadig lave syntaxen på samme måde ?
Avatar billede chsk Nybegynder
05. december 2003 - 15:05 #8
Apache, WinMySql, PHP4 = En w.a.m.p opsætning
Avatar billede websmith Nybegynder
08. december 2003 - 11:21 #9
Nej det tror jeg desværre ikke, men kig evt her for en syntax.
http://www.mysql.com/doc/en/EXISTS_and_NOT_EXISTS_subqueries.html
Avatar billede chsk Nybegynder
09. december 2003 - 13:34 #10
jeg har lagt point til dig - under - "points til websmith".
Avatar billede websmith Nybegynder
10. december 2003 - 23:06 #11
Det var ellers ikke nødvendigt :) Men jeg takker da
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