webForumDet fria alternativet

Stored Procedure

1 svar · 278 visningar · startad av LR^evil.sid

LR^evil.sidMedlem sedan maj 2002560 inlägg
#1

Jag förstår inte vad som är fel? Jag får inga som helst felmeddelanden. Vad är fel!? Koden nedan ger förjande output:

check: on

CALL BOXchangeID('fakeit', 1)
UPDATE kunder SET bindning = null WHERE avtalsnr = 'fakeit'
SELECT t.klar, k.AvtalsNr, t.callat FROM tm t INNER JOIN kunder k ON t.id = k.id WHERE k.id = 1

klar: 0
avtalsnr: Wxxxxxxxx
callat: 0000-00-00 00:00:00

switch($_POST['check']){
		case 'on':
			if($_POST['nytt']!='' && $_POST['id']!=''){
				$SQLQuery="CALL BOXchangeID('".$_POST['nytt']."', '".$_POST['id']."')";
				$link->query($SQLQuery);
				echo "$SQLQuery<br>";
				$SQLQuery="UPDATE kunder SET bindning = null WHERE avtalsnr = '".$_POST['nytt']."'";
				$link->query($SQLQuery);
				echo "$SQLQuery<br>";

				$SQLQuery="SELECT t.klar, k.AvtalsNr, t.callat FROM tm t INNER JOIN kunder k ON t.id = k.id WHERE k.id = ".$_POST['id'];
				$result=$link->query($SQLQuery);
				$rows=$result->fetch_row();
				echo "$SQLQuery<br><br>$rows[0]<br>$rows[1]<br>$rows[2]<br>";
			}
			break;
}

Och av någon anledning får jag inte uppdatera mer än ett fält per fråga med min procedur.
Och även fast jag säger det själv så lyckades jag strula till det ändå. Skyller på att jag inte ätit lunch idag.

Procedur:

BEGIN
    DECLARE kundid CHAR(11);
    SELECT avtalsnr INTO kundid FROM kunder WHERE id = whereis;
    UPDATE forsaljning SET avtalsnr = isthis WHERE avtalsnr = kundid;
    UPDATE forsaljning_boxar SET avtalsnr = isthis WHERE avtalsnr = kundid;
    UPDATE information SET avtalsnr = isthis WHERE avtalsnr = kundid;
    UPDATE kunder SET avtalsnr = isthis WHERE avtalsnr = kundid;
    UPDATE tillval SET avtalsnr = isthis WHERE avtalsnr = kundid;
    UPDATE tm SET avtalsnr = isthis WHERE avtalsnr = kundid;
    UPDATE tm_utg SET avtalsnr = isthis WHERE avtalsnr = kundid;
    UPDATE utskriftslog SET avtalsnr = isthis WHERE avtalsnr = kundid;
    UPDATE tm SET klar = 1[blue], callat = CONCAT(batch, ' 08:00:00')[/blue] WHERE avtalsnr = isthis;
    UPDATE tm SET callat = CONCAT(batch, ' 08:00:00') WHERE avtalsnr = isthis;
END

Parametrar:

IN isthis CHAR(11), IN whereis INT
LR^evil.sidMedlem sedan maj 2002560 inlägg
#2

LR^evil.sid skrev:

Och av någon anledning får jag inte uppdatera mer än ett fält per fråga med min procedur.

Och även fast jag säger det själv så lyckades jag strula till det ändå. Skyller på att jag inte ätit lunch idag.

BEGIN
DECLARE kundid CHAR(11);
SELECT avtalsnr INTO kundid FROM kunder WHERE id = whereis;
UPDATE forsaljning SET avtalsnr = isthis WHERE avtalsnr = kundid;
UPDATE forsaljning_boxar SET avtalsnr = isthis WHERE avtalsnr = kundid;
UPDATE information SET avtalsnr = isthis WHERE avtalsnr = kundid;
UPDATE kunder SET avtalsnr = isthis WHERE avtalsnr = kundid;
UPDATE tillval SET avtalsnr = isthis WHERE avtalsnr = kundid;
UPDATE tm SET avtalsnr = isthis WHERE avtalsnr = kundid;
UPDATE tm_utg SET avtalsnr = isthis WHERE avtalsnr = kundid;
UPDATE utskriftslog SET avtalsnr = isthis WHERE avtalsnr = kundid;
UPDATE tm SET klar = 1**, callat = CONCAT(batch, ' 08:00:00')** WHERE avtalsnr = isthis;
UPDATE tm SET callat = CONCAT(batch, ' 08:00:00') WHERE avtalsnr = isthis;
END

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