---
title: "Oförklarlig bugg."
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/105481-oförklarlig-bugg"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "rincewind"
published: "2004-06-11T10:06:53.000Z"
updated: "2004-06-11T13:03:14.000Z"
replies: 8
views: 357
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/105481-oförklarlig-bugg"
---

# Oförklarlig bugg.

## #1 — rincewind, 2004-06-11T10:06Z

Hej, nu har jag suttit och kämpa med en bugg i snart 3 timmar. Får inte bort den,

Är det någon som är duktig på sådant här?

Jag har en

```php
<form method='post' name='maintextbox' ENCTYPE='multipart/form-data'> <input TYPE='file' NAME='filename' size=36>
<input type='submit' name='send' value='Skicka'>
</form>
```

Sedan efter postningen kommer:

```php
if ($_POST['send' ])
{
if (file_exists($_FILES[filename][tmp_name]))
{
			$fileName=$_FILES[filename][name];
			$fileType=$_FILES[filename][type];
			$sizeOrginal=filesize($_FILES[filename][tmp_name]);			

			$sql= "insert into mp_files(fileOrigName, fileType, fileData, fileSize, fileTitle, fileText)
				            values('$fileName','$fileType',LOAD_FILE('".$_FILES[filename][tmp_name]."'),$sizeOrginal,'$_POST[title]','$_POST[textinput]')";

			echo $sql;				
			mysql_query($sql) or die ("ERROR: ".mysql_error());					

}
}
```

Jag får då felet:
insert into mp_files(fileOrigName, fileType, fileData, fileSize, fileTitle, fileText) values('ikon1.png','image/x-png',LOAD_FILE('/tmp/phpsaHjh3'),230300,'asd','sda')
ERROR: Column 'fileData' cannot be null

Någon som har några förslag vad felet kan vara?
Jag har kollat i linux och filen laddas verkligen upp.
Tacksam för hjälp
 \-- Rincewind

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

## #2 — yohpops, 2004-06-11T10:12Z

Vad har du för databas?
Finns funktionen LOAD_FILE i den?
Och hittas filen?

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

## #3 — rincewind, 2004-06-11T10:29Z

Det är mysql 4.0.18

och hur kollar jag om mysql hittar filen?

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

## #4 — yohpops, 2004-06-11T10:37Z

Prova att köra LOAD_FILE('/tmp/phpsaHjh3') men med rätt filnamn.
Jag antar att mysql vill ha en fysisk sökväg till filen inte en virtuell.

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

## #5 — rincewind, 2004-06-11T10:46Z

Virituell fil? Softlänkar eller?

Provade detta istället:

```php
			$orginal= '/tmp/file-original.dat';
			move_uploaded_file($_FILES[filename][tmp_name],$orginal);
			$fileName=$_FILES[filename][name];
			$fileType=$_FILES[filename][type];
			$sizeOrginal=filesize($orginal);			

			$sql= "insert into mp_files(fileOrigName, fileType, fileData, fileSize, fileTitle, fileText)
				            values('$fileName','$fileType',LOAD_FILE('".$orginal."'),$sizeOrginal,'$_POST[title]','$_POST[textinput]')";

			echo $sql;				
			mysql_query($sql) or die ("ERROR: ".mysql_error());					
}
```

och får detta fel:
insert into mp_files(fileOrigName, fileType, fileData, fileSize, fileTitle, fileText) values('ikon1.png','image/x-png',LOAD_FILE('/tmp/file-original.dat'),230300,'634','4363')
ERROR: Column 'fileData' cannot be null

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

## #6 — yohpops, 2004-06-11T10:55Z

Softlänkar?

Detta är en virtuell filväg '/tmp/file-original.dat'
Detta är en fysisk 'c:\\web\\tmp\\file-original.dat'

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

## #7 — rincewind, 2004-06-11T11:11Z

Ah, men det är ett linux OS jag kör.. Debian... =)

Men jag provadet det.. Lade upp en exe fil som jag har rättigheter till (och webservern), och provade ladda in den mha en sql fråga.

Det fungerar inte heller.. 
samma fel medelande:

insert into mp_files(fileOrigName, fileType, fileData, fileSize, fileTitle, fileText) values('winamp503_full.exe','application/octet-stream',LOAD_FILE('/tmp/winamp503_full.exe'),4406768,'44','4123')
ERROR: Column 'fileData' cannot be null

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

## #8 — yohpops, 2004-06-11T11:50Z

OK.

Felet verkar vara att LOAD_FILE inte kan ladda filen.
Hoppa över insert strängen och skicka in en typ.
print LOAD_FILE('/tmp/filenfilen.fil')
eller liknande.

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

## #9 — rincewind, 2004-06-11T13:03Z

Fick i ordning på det.

Gjorde hela sql inmatningen fast inte fileData. Plockade sedan ut ID nummret på raden.

Sedan fick jag köra en update set fileData = load_file('$orignal') where fileID=".mysql_insert_id();

då verkar allt ha börjat fungera.
Verkar som om servern inte riktigt "han med" att lägga dit filen innan SQL:en började köra i gång.

Mysko, men nu fungerar det.
Tackar för all hjälp!!!

Mvh
 \-- Rincewind

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

---

Tråden på webben: https://www.webforum.nu/amne/php/105481-oförklarlig-bugg
