Не могу опубликовать данные, используя mysqli - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь вставить данные в базу данных mysql, но где-то что-то происходит, и вставка не происходит.

Это мой php-скрипт (init2.php для соединения, и я на 100% уверен, что это успешное соединение)

<?php
require "init2.php";
$model = $_POST["model"];
$total = $_POST["total"];
$dangerous = $_POST["dangerous"];
$unrecognised = $_POST["unrecognised"];

$sql = "insert into AndroidDatabase.ReportTable (MODEL,Total_Packages,Dangerous_Packages,Unrecognised) values ('$model',$total,$dangerous,$unrecognised);";

?>

Также это мой код для Android:

URL url = new URL(REPORT_URL);
            HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
            httpURLConnection.setRequestMethod("POST");
            httpURLConnection.setDoOutput(true);
            OutputStream OS =  httpURLConnection.getOutputStream();
            BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(OS,"UTF-8"));
            String data = URLEncoder.encode("model","UTF-8") + "=" +  URLEncoder.encode(model,"UTF-8") +"&" +
                    URLEncoder.encode("total","UTF-8") + "=" +  URLEncoder.encode(total,"UTF-8") +"&" +
                    URLEncoder.encode("dangerous","UTF-8") + "=" +  URLEncoder.encode(dangerous,"UTF-8") +"&" +
                    URLEncoder.encode("unrecognised","UTF-8") + "=" +  URLEncoder.encode(unrecognised,"UTF-8") ;
            bufferedWriter.write(data);
            bufferedWriter.flush();
            bufferedWriter.close();
            OS.close();
            InputStream IS = httpURLConnection.getInputStream();
            IS.close();

Для упоминания это " data ", для которого буферизовано написано: "model = GT-I9505 & total = 200 & опасных = 0 & unrecognized = 18"

EDIT:

Это сработало, когда я жестко закодировал:

<?php
require "init2.php";
$model = "test";
$total = 30;
$dangerous = 30;
$unrecognised = 30;

$sql = "insert into AndroidDatabase.ReportTable (MODEL,Total_Packages,Dangerous_Packages,Unrecognised) values ('$model',$total,$dangerous,$unrecognised)";

if(mysqli_query($con,$sql))
{
echo "success";
}
else
{
echo "error".mysqli_error($con);
}
?>

1 Ответ

0 голосов
/ 17 мая 2018

Ссылка Tigger была полезной

<?php
require "init2.php";
$model = $_POST["model"];
$total = $_POST["total"];
$dangerous = $_POST["dangerous"];
$unrecognised = $_POST["unrecognised"];
$query = "insert into AndroidDatabase.ReportTable (MODEL,Total_Packages,Dangerous_Packages,Unrecognised) VALUES (?,?,?,?)";
$stmt = $con->prepare($query);
$stmt->bind_param("siii", $model,$total,$dangerous,$unrecognised);
$stmt->execute();
$stmt->close();
$con->close();
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...