2013-04-19 2 views
1

자바에서 PHP 백엔드로 간단한 게시물을 작성합니다. 난 내가 파일 이름을 전달하고 출력, 파일 크기 등을 얻고 스크립트를 ... 실행 한 후자바에서 PHP로 게시하고 mysql 데이터베이스에 삽입하십시오.

int filesize=25; 
String filetype=".txt"; 
String hash="sdfjksdfhljahe8wr897348957jsdfajlsdhfl48"; 
String email="[email protected]"; 
String filename="songs.txt"; 
String urlParameters = "filename="+filename+"&filesize="+filesize+"&filetype="+filetype+"&filehash="+hash+"&email="+email;  
URL url = new URL("myurl"); 
HttpURLConnection hp=(HttpURLConnection)url.openConnection(); 
hp.setDoInput(true); 
hp.setDoOutput(true); 
hp.setInstanceFollowRedirects(false); 
hp.setRequestMethod("POST"); 
hp.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); 
hp.setRequestProperty("charset", "utf-8"); 
hp.setRequestProperty("Content-Length", "" + Integer.toString(urlParameters.getBytes().length)); 
hp.setUseCaches (false); 
DataOutputStream wr = new DataOutputStream(hp.getOutputStream()); 
wr.writeBytes(urlParameters); 
wr.flush(); 
String line; 
BufferedReader reader = new BufferedReader(new InputStreamReader(hp.getInputStream())); 
line = reader.readLine(); 
System.out.println(line); 
wr.close(); 
reader.close(); 
hp.disconnect(); 

문제는 내가 쓰기 때문에 서버에서 실행 내 MySQL 데이터베이스에 이러한 값을 삽입 할 수있는 다음과 같은 PHP 코드.

<?php 
include('dbc.php'); 
$filename=$_POST['filename']; 
$filesize=$_POST['filesize']; 
$filetype=$_POST['filetype']; 
echo $POST['email']; 
$filehash=$_POST['filehash']; 
$email=$_POST['email']; 
$query = "INSERT INTO files (`email`, `file_name`, `file_ext`, `file_size`, 'file_hash') VALUES ('$email', '$filename', '$filetype', '12584', 'filehash')"; 
$result=mysqli_query($dbc,$query); 
if(mysqli_affected_rows($dbc) == 1) 
{ 
    // DO Nothing 
} 
echo $_POST['filehash']; 
echo $_POST['email']; 
echo $_POST['filename']; 
echo $_POST['filesize']; 
echo $_POST['filetype']; 
?> 

데이터가 게시되고 있으며 내 Java 응용 프로그램에서 같은 결과를 얻지 만 데이터가 mysql 데이터베이스에 입력되지 않습니다. 위에서 설명한 동일한 열이있는 테이블 이름 파일이 있습니다. 내가 mysql_error에서 오류를 얻으려고했지만 어떤 오류가 발생하지 않습니다.

UPDATE : 문제는 데이터베이스에 입력하기 전에 변수를 확인하는 대신`file_hash 근처

+0

mysql 구문을 점검 했습니까? – KyelJmD

+0

위의 구문이 정확하고 오류가 발생하지 않습니다. –

+0

echo $ query를 실행 한 다음 db에 대해이 쿼리를 실행하려고하면 어떤 일이 발생합니까? – Robert

답변

0

시도의 '사용 바보 SQL 구문의 실수를 해결했다. 그들이 비어 있지 않다고 확신합니까?

관련 문제