2013-04-25 2 views
0

파일을 업로드 한 다음 Access 데이터베이스로 옮깁니다. 제출 된 파일의 이름은 '첨부 파일'이며 첨부 파일 속성이 있습니다. 그것은 Access에서 잘 작동합니다.
서버 측에 업로드되지만 데이터베이스에 삽입 할 수 없습니다.Access 데이터베이스의 첨부 파일 필드에 파일 업로드 삽입

<?php 
if ($_FILES["file"]["error"] > 0) 
{ 
echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; 
} 
else 
{ 
echo "File name: " . $_FILES["file"]["name"] . "<br>"; 
echo "Type: " . $_FILES["file"]["type"] . "<br>"; 
echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>"; 
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>"; 

move_uploaded_file($_FILES["file"]["tmp_name"], "C:/AccessBackEnds/LiveDesk/Uploads/" . $_FILES["file"]["name"]); 
echo "Stored in: LiveDesk/Uploads/"; 
} 

$file = "C:/AccessBackEnds/LiveDesk/Uploads/" . $_FILES["file"]["name"]; 

$db = realpath('C:\AccessBackEnds\LiveDesk\LiveDeskBackEnd.accdb'); 
$conn = odbc_connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$db",'','') or die ("Unable to connect to server"); 

$input="INSERT INTO CallTracker (Attachment) 
VALUES 
(file($file))"; 
$rs=odbc_exec($conn,$input); 

if (!$rs) 
{ 
die('Error: ' . mysql_error()); 
} 
?> 

오류가 경고 : odbc_exec() [function.odbc-간부] : SQL 오류 : [Microsoft] [ODBC Microsoft Access 드라이버] 구문 오류가 쿼리 식 (누락 된 연산자) '파일 (C : /AccessBackEnds/LiveDesk/Uploads/CdpPacket.inf) '., C : \ xampp \ htdocs \ test \ upload_file.php의 SQLExecDirect에있는 SQL 상태 37000

감사합니다.

답변

0

PHP는 가 아닌이라는 클라이언트 컴퓨터에있는 파일 이름을 업로드하기 위해 임시 파일 이름을 사용합니다.

$file = "C:/AccessBackEnds/LiveDesk/Uploads/" . $_FILES["file"]["name"]; 
                   ^^^^^^^^ 

이는 ['tmp_name']이어야합니다.

Ms 액세스에는 file() 기능이 있습니까? 내가하는 어떤 징후도 찾을 수 없습니다.

관련 문제