---
title: "Stored Procedure"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/159170-stored-procedure"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "LR^evil.sid"
published: "2007-04-12T13:49:20.000Z"
updated: "2007-04-12T14:26:28.000Z"
replies: 1
views: 278
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/159170-stored-procedure"
---

# Stored Procedure

## #1 — LR^evil.sid, 2007-04-12T13:49Z

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

```php
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
```

Permalänk: https://www.webforum.nu/p/159170

## #2 — LR^evil.sid, 2007-04-12T14:26Z

> **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

Permalänk: https://www.webforum.nu/p/1958425

---

Tråden på webben: https://www.webforum.nu/amne/php/159170-stored-procedure
