---
title: "Enkelt problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/119828-enkelt-problem"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "coolish"
published: "2005-01-11T13:33:55.000Z"
updated: "2005-01-11T14:26:37.000Z"
replies: 10
views: 377
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/119828-enkelt-problem"
---

# Enkelt problem

## #1 — coolish, 2005-01-11T13:33Z

Hej.
Jag har en kodsnutt som ser ut enligt nedan. Jag får felmeddelande när jag försöker skriva till databasen, någon som kan hjälpa mig med felet?

Felmeddelandet ser ut så här:

Du har laddat upp filen driving_licens.jpg
Glöm inte att spara när du återvänder till sidan!
Warning: odbc_exec() \[function.odbc-exec\]: SQL error: \[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] För få parametrar angavs. 1 förväntades., SQL state 07001 in SQLExecDirect in c:\\Inetpub\\wwwroot\\kapeadmin\\insertImage.php on line 35

och koden jag använder:

if(isset($\_POST\['skicka'\])) {
		if(!($\_FILES\['fil'\]\['name'\]==""\|\|$\_FILES\['fil'\]\['name'\]=="none")){
			if(is_uploaded_file($\_FILES\['fil'\]\['tmp_name'\])){

		move_uploaded_file($\_FILES\['fil'\]\['tmp_name'\],"uploaded/".$\_FILES\['fil'\]\['name'\]);

		echo "\<font face='verdana' color='#ffffff' size='1'\>Du har laddat upp filen ".$\_FILES\['fil'\]\['name'\]."\</font\>\<br\>\<font face='verdana' color='#ffffff' size='2'\>\<b\>Glöm inte att spara när du återvänder till sidan!\</b\>\</font\>";
		// Här ska kod för databasen in
		$tmp_id = $\_REQUEST\['id'\];
	
		echo $tmp_id;
		
		$filnamn = $\_FILES\['fil'\]\['name'\];
		
		$conn_id=odbc_connect("sla","","") or
			die("Kunde inte spara till databasen");
			$sql = "Update StatusInfo Set image = ($filnamn) where id = ('$tmp_id')";
			$run = odbc_exec($conn_id,$sql);
			odbc_close($conn_id);
			}
		}
	}

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

## #2 — @nders, 2005-01-11T13:35Z

1) Använd \[php\]-taggar så din php-kod går att läsa i forumet.
2) Du har apostrofer runt id-värdet i SQL-frågan, men inte runt filnamnet. Det ska nog vara tvärt om?

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

## #3 — coolish, 2005-01-11T13:40Z

Om jag gör tvärt om med apostroferna får jag istället:
"Warning: odbc_exec() \[function.odbc-exec\]: SQL error: \[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Syntaxfel (operator saknas) i frågeuttrycket 'id = ()'., SQL state 37000 in SQLExecDirect in c:\\Inetpub\\wwwroot\\kapeadmin\\insertImage.php on line 36"

Jag kan däremot skriva ut tmp_id med echo $tmp_id;

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

## #4 — @nders, 2005-01-11T13:43Z

Så här borde det se ut:

```php
$sql = "Update StatusInfo Set image = '$filnamn' where id = $tmp_id";
```

Skriv ut SQL-frågan med echo, så får vi se hur den ser ut.

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

## #5 — coolish, 2005-01-11T13:53Z

echo $sql; ger följande:

Update StatusInfo Set image = 'support_2.gif' where id = 

Jag får alltså inte med något id. Jag hämtar tmp_id med $tmp_id = $\_REQUEST\['id'\]; och jag kan skriva ut det högre upp på sidan.

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

## #6 — Steady, 2005-01-11T13:58Z

$\_REQUEST?
Om du ska hämta från POST skriver du $\_POST och om du ska hämta från adressfältet skriver du $\_GET.

Aldrig sett $\_REQUEST innan :q

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

## #7 — coolish, 2005-01-11T14:01Z

Hämtar från en länk. Och jag kan ta med värdet in och skriva ut det högst upp men sen verkar det inte hänga med längre. Och jag får samma resultat oavsett om jag använder $\_GET eller $\_REQUEST.

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

## #8 — Steady, 2005-01-11T14:04Z

Hm, låt oss se hela koden igen.

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

## #9 — coolish, 2005-01-11T14:05Z

\<html\>
	\<head\>
		\<title\>Ladda upp fil\</title\>
	\</head\>
\<body bgcolor="#666666"\>

```php
<? php
$tmp_id = $_GET['id'];
		echo $tmp_id;

	if(isset($_POST['skicka'])) {
		if(!($_FILES['fil']['name']==""||$_FILES['fil']['name']=="none")){
			if(is_uploaded_file($_FILES['fil']['tmp_name'])){

		move_uploaded_file($_FILES['fil']['tmp_name'],"uploaded/".$_FILES['fil']['name']);

		echo "<font face='verdana' color='#ffffff' size='1'>Du har laddat upp filen ".$_FILES['fil']['name']."</font><br><font face='verdana' color='#ffffff' size='2'><b>Glöm inte att spara när du återvänder till sidan!</b></font>";
		// Här ska kod för databasen in
		
		
		$filnamn = $_FILES['fil']['name'];
						
		$conn_id=odbc_connect("sla","","") or
			die("Kunde inte spara till databasen");
			$sql = "Update StatusInfo Set image = '$filnamn' where id = $tmp_id";
			echo $sql;
			//echo $tmp_id;
			//$run = odbc_exec($conn_id,$sql);
			odbc_close($conn_id);
			}
		}
	}
?>
```

\<form method="post" action="insertImage.php" enctype="multipart/form-data"\>
\<table border="0" cellpadding="0" cellspacing="0"\>
\<tr valign="top"\>
	\<td valign="top"\>
	\<font face="verdana" size="1" color="#ffffff"\>\<b\>Välj fil att ladda upp:\</b\>\</font\>
	\<input type="file" name="fil"\>\<br\>\<br\>
	\<input type="submit" name="skicka" value="Ladda upp"\>\<hr noshade size="1"\>\</td\>
\</tr\>
\</table\>
\</form\>

\</body\>
\</html\>

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

## #10 — @nders, 2005-01-11T14:06Z

> **@nders skrev:**
>
> 1) Använd \[php\]-taggar så din php-kod går att läsa i forumet.

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

## #11 — coolish, 2005-01-11T14:26Z

Problemet är löst, jag postade om sidan och tappade därmed värdet. Skickade med tmp_id i en \<input type=hidden\> och fick det att fungera.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/119828-enkelt-problem
