【发布时间】:2023-04-04 10:55:01
【问题描述】:
我有一个向 php 发送一些字符串数组的 android 应用程序。 php 获取该数组并将该数据值单独插入到数据库中。现在,当插入数据时,每行数据都会随之获得一个额外的空白。 如何消除它。我尝试用字符串替换,但是当尝试替换时,我无法插入任何东西。 输入第二行时会添加一个空格。
这里是输入数据的 PHP 代码。
<?php
$response = array();
// check for required fields
if (isset($_POST['docname']) && isset($_POST['prods'])) {
$docname = $_POST['docname'];
$prods = $_POST['prods'];
$e = trim($prods, '[]');
$pr = preg_split("/[,]/", $e);
$img = "image/";
//$docs=array_unique($pr);
$count = count($pr);
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "root");
define("DB_DATABASE", "android_api");
$con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD) or die(mysqli_connect_error());
// selecting database
$db = mysqli_select_db($con, DB_DATABASE) or die(mysqli_connect_error());
foreach ($pr as $val) {
$img = $img . $val . ".jpg";
// mysql inserting a new row
$result = mysqli_query($con,
"INSERT INTO product_entered(id, doc_name, product_name, image_path, count)
VALUES('$id','$docname','$val','$img','$count')"
);
}
// check if row inserted or not
if ($result) {
// successfully inserted into database
$response["success"] = 1;
$response["message"] = "Product successfully created.";
// echoing JSON response
echo json_encode($response);
}
else {
// failed to insert row
$response["success"] = 0;
$response["message"] = "Oops! An error occurred.";
// echoing JSON response
echo json_encode($response);
}
}
else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
当我使用 JSON 显示它时,它看起来像这样..
{
"id": "15",
"doc_name": "Dr. XYZ",
"product_name": " PROTONIL-D",
"image_path": "image/image/ PROTONIL-D.jpg",
"count": "7"
},
{
"id": "14",
"doc_name": "Dr. XYZ",
"product_name": " PROATH_PLUS",
"image_path": "image/image/ PROATH_PLUS.jpg",
"count": "7"
},
每次插入一行时都会插入一个空格 我不知道如何解决这个问题。
【问题讨论】:
-
你能做一个
var_dump($prods)并将结果粘贴到问题中吗? -
怎么做,因为我在 android 应用程序中有多个复选框,当我选择其中一些并将其发送到 php 代码时,这是在后台执行的。