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 근처
mysql 구문을 점검 했습니까? – KyelJmD
위의 구문이 정확하고 오류가 발생하지 않습니다. –
echo $ query를 실행 한 다음 db에 대해이 쿼리를 실행하려고하면 어떤 일이 발생합니까? – Robert