어떤 이유로 든 데이터가 수신되지 않지만 내 서버의 데이터베이스에 문자열을 전송하는 앱에서 작업 해 왔습니다. 어쩌면 당신은 올바른 방향으로 나를 가리킬 수 있습니다, 나는 그물 전체를 검색했지만 작동하지 않는 이유를 찾을 수 없습니다.앱에서 서버로 문자열 보내기
내 안드로이드 코드 : PHP에서
public class HttpURLConnectionHandler
{
protected String urlG = "http://example.com/";
public String sendText(String text)
{
try {
URL url = new URL(urlG+"phpcode.php");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.connect();
DataOutputStream wr = new DataOutputStream(
conn.getOutputStream());
wr.writeBytes("mydata:"+text);
wr.flush();
wr.close();
InputStream is = conn.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
String line;
StringBuffer response = new StringBuffer();
while((line = rd.readLine()) != null) {
response.append(line);
response.append('\r');
}
rd.close();
return response.toString();
}
catch(Exception e){ return "error";}
}
}
내 코드 :
<?php
$servername = "here is my server";
$username = "my username";
$password = "my pass";
$dbname = "database";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$image = $_POST['image'];
$sql = "INSERT INTO photos (image)
VALUES ('{$image}')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
내 클래스를 호출하는 방법은 다음과 같습니다
HttpURLConnectionHandler handler= new HttpURLConnectionHandler();
String response = handler.sendText("this is a text");
Json은 서버와 클라이언트 간의 통신 측면에서 더 나은 옵션이 될 것입니다. – IteratioN7T
나는 당신이 여기서 무엇을하려고하는지 잘 모르지만 첫째로 귀하의 안드로이드 코드와 PHP 코드가 일치하지 않습니다. 둘 다 서로 다른 용도로 쓰여집니다. 목적. 둘째로 발리 (Volley) 나 네트워크 요청 (OKhttp)과 같은 라이브러리를 사용해보십시오. –
응용 프로그램의 주요 목적은 내 서버의 데이터베이스에 문자열을 보내는 것입니다. 저는 이것에 대해 아주 새로운 것입니다. 그래서 나는 조금 고심하고 있습니다. –