webForumDet fria alternativet

Last_insert_id()

6 svar · 213 visningar · startad av jonne

jonneMedlem sedan jan. 20011 154 inlägg
#1

Varför vill inte det senast inlaggda idt "fastna" på $lastID ?

@mysql_query("INSERT INTO Question
				(qBody, qDate, qAuthor)
				VALUES ('$ffQuestion', '$ffDate', '$ffAuthor')				
				")
				or die("SQL-fel!<br> <br>" . mysql_error());
	$lastID = mysql_query("SELECT LAST_INSERT_ID()");
	echo "Föregående ID: $lastID";
	for($i = 0; $i <= 4; $i++) { 
		if($ffQ[$i] != "") {

			@mysql_query("INSERT INTO Alts
				(QID, aBody)
				VALUES ('$lastID', '$ffQ[$i]')				
				")
				or die("SQL-fel!<br> <br>" . mysql_error());
				
		}
	}

------------------
Catapultam habeo. Nisi pecuniam omnem mihi
dabis, ad caput tuum saxum immane mittam

[Redigerat av jonne den 07 dec 2001]

LarsGMedlem sedan dec. 200012 464 inlägg
#2
$result = mysql_query("SELECT LAST_INSERT_ID() as last");
$row = mysql_fetch_array($result);
echo "Föregående ID: " . $row["last"];

------------------
essentitia preter non sans multiplicandum

jonneMedlem sedan jan. 20011 154 inlägg
#3

Superbt LarsG.. Superbt.
Tack och bock.

------------------
Catapultam habeo. Nisi pecuniam omnem mihi
dabis, ad caput tuum saxum immane mittam

jorgenMedlem sedan feb. 20012 412 inlägg
#4

Hej, jag har en insert som jag skulle vilja lägga in dess Id också med SELECT LAST_INSERT_ID(). Men får inte det att fungera, hur gör man?

Måste jag göra en update också, eller man kan göra allt i ett?

RED: Oj, detta skulle blivit en ny tråd, men den passade ju rätt bra här med :e

mvh Jörgen :)

SQLStmt ="INSERT INTO Inlagg "

SQLStmt = SQLStmt & "(Icon, Ip, Subject, Comment, Bevakning, Inlagg_AnvId, IntForumId, dteDate, LastUpdate, Orginal) "

SQLStmt = SQLStmt & "VALUES('" & Trim(Request.Form("Icon")) & "','" & Ip & "','" & Fixatecken(Trim(Request.Form("Subject"))) & "','" & Fixatecken(Trim(Request.Form("Comment"))) & "'," & Trim(Request.Form("Bevakning")) & ", " & AnvId & ", " & Trim(Request.Form("IntForumId")) & ", Now(), '"&strTid&"', 1);SELECT LAST_INSERT_ID()"
set rs = objDB.Execute(SQLStmt)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

[Redigerat av jorgen den 14 jan 2002]

jorgenMedlem sedan feb. 20012 412 inlägg
#5

Ändrade till detta, vilket funkar, finns det inga genvägar att gå?

SQLStmt ="INSERT INTO Inlagg "
SQLStmt = SQLStmt & "(Icon, Ip, Subject, Comment, Bevakning, Inlagg_AnvId, IntForumId, dteDate, LastUpdate, Orginal) "

SQLStmt = SQLStmt & "VALUES('" & Trim(Request.Form("Icon")) & "','" & Ip & "','" & Fixatecken(Trim(Request.Form("Subject"))) & "','" & Fixatecken(Trim(Request.Form("Comment"))) & "'," & Trim(Request.Form("Bevakning")) & ", " & AnvId & ", " & Trim(Request.Form("IntForumId")) & ", Now(), '"&strTid&"', 1) "

objDB.execute SQLStmt,,128

set rs = objDB.execute("SELECT LAST_INSERT_ID()")

sql = "UPDATE Inlagg SET Thread_MessId = "& rs(0) &" WHERE MessId = "& rs(0)

objDB.Execute sql,,128

rs.close()
set rs = nothing

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

LarsGMedlem sedan dec. 200012 464 inlägg
#6

sql = "UPDATE Inlagg SET Thread_MessId = LAST_INSERT_ID() WHERE MessId = LAST_INSERT_ID()"
objDB.Execute sql,,128

------------------
essentitia preter non sans multiplicandum

jorgenMedlem sedan feb. 20012 412 inlägg
#7

ahh, det var ju en liten förbättring, tackar LarsG :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)