php - 在向 mysql 输入数据时删除额外的空间

标签 php android mysql

我有一个 android 应用程序,它向 php 发送一些字符串数组。 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"
    },

每插入一行就插入一个空格 我不知道如何解决这个问题。

最佳答案

你试过在循环中做一个trim()吗?

foreach ($pr as $val) {
    $val = trim($val);

    $img = $img . $val . ".jpg";

    $result = mysqli_query($con, 
        "INSERT INTO product_entered(id, doc_name, product_name, image_path, count) 
        VALUES('$id','$docname','$val','$img','$count')"
    );
}

关于php - 在向 mysql 输入数据时删除额外的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33063650/

相关文章:

php - 从 ID 数组获取数据库结果

java - 安卓工作室错误 : cannot find symbol class intent

MySQL:在更新查询中使用选择

php - 设置 php 变量 $userName = swift Encodable $_POST [‘userName’ ] 变量的正确语法或方法是什么?

android - Genymotion 中外置 SD 的默认路径

php - 在 php 中上传时未选择文件

php - 使用 php 表单 POST 函数发送通过 ssl 保护的信息

php - 使用 php 从目录中提取图像

php - Magento - 管理员缺少 CSS

java - W/System.err : java.net.ConnectException:连接超时