php - 如何从MySQL数据库中删除插入的数据

标签 php android mysql

我遇到了一个问题。

今天,我制作了 Android 应用程序,用于将数据插入 MySQL 数据库。

当我尝试插入字符串类型(例如:名称)时,记录中显示:“名称”

Rows from database <---- 在数据库中它看起来像这个图像

如何从插入的字符串中删除"

这是我的 PHP 脚本:

<?php
require "connect.php";

$firstHash = substr(str_shuffle(str_repeat("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPRSTUWYZX", 5)), 0, 5);
$secondHash = substr(str_shuffle(str_repeat("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPRSTUWYZX", 5)), 0, 20);

$file_path_URL = "";

$id = "PRD-$firstHash-$secondHash";
$name = $_POST["name"];
$description = $_POST["description"];
$price = $_POST["price"];
$state = $_POST["state"];
$category = $_POST["category"];

$file_path = "uploads/";

$response = array();

if (isset($_FILES["upload_file"]))
{
    $target_file_name = $file_path .basename("$id.png");

    if(file_exists($target_file_name))
    {
        $success = false;
        $message = "Name already exist";
    }
    else
    {
        if (move_uploaded_file($_FILES["upload_file"]["tmp_name"], $target_file_name))
        {
            $photoPath = "$file_path_URL$id.png";
            $query = "INSERT INTO `produkty`(`ID`, `Nazwa`, `Opis`, `Cena`, `Stan`, `Zdjecie`, `Kategoria`) VALUES ('$id', '$name', '$description', $price, $state, '$photoPath', '$category')";

            $result = mysqli_query($conn, $query);

            if(!$result)
            {
                $success = false;
                $message = "Error on insert data";
            }
            else
            {
                $success = true;
                $message = "Add product successfuly";
            }
        }
    else
        {
            $success = false;
            $message = "Error while uploading";
        }

    }


}
else
{
    $success = false;
    $message = "Required Field Missing";
}

$response["success"] = $success;
$response["message"] = $message;

$json = json_encode($response);

echo ($json);
?>

Android 中负责获取用户输入数据的方法:

    private void getValues()
{
    Log.v(TAG, "getValues(): init");

    EditText nameET = findViewById(R.id.nameET);
    EditText descriptionET = findViewById(R.id.descriptionET);
    EditText priceET = findViewById(R.id.priceET);
    EditText categoryET = findViewById(R.id.categoryET);
    CheckBox stateCHB = findViewById(R.id.checkBox);

    String name = nameET.getText().toString();
    String description = descriptionET.getText().toString();
    Float price = Float.valueOf(priceET.getText().toString());
    String category = categoryET.getText().toString();
    boolean state;

    if (stateCHB.isChecked())
    {
        state = true;
    }
    else
    {
        state = false;
    }

    sendDataToServer(name, description, price, state, category, imagePath);

    Log.v(TAG, "getValues(): end");

}

我把它像字符串一样发布到 PHP 中。这是一个错误吗?

我第一次从 Android 应用程序插入 MySQL 数据库。 请帮助我!

最佳答案

我没有立即看出这句话的出处。也许在“sendDataToServer”内部,但一种解决方案是替换

$name = $_POST["name"];

$name = str_replace( '"', '', $_POST["name"]);

在 PHP 代码中删除 POST 请求到达时的引号。

关于php - 如何从MySQL数据库中删除插入的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54989694/

相关文章:

php - Laravel 保护属性和 Mutators

android - 如何在 Genymotion 虚拟设备上安装 Google 框架(Play、Accounts 等)?

IIS 上使用 MySQL 的 ASP.NET 应用程序

php - Laravel 出现错误 undefined variable

php - Codeigniter 连接多个 id 并显示到 View

php - 是否可以使用 Fpdf 生成 Pdf 设计

android - 选择器资源可以使用样式中定义的颜色吗?

android - Vuforia 无标记设备跟踪在 Android 中不起作用

MYSQL - 将列 "price"中的值更新为小数点后两位

php - php/mysql如何添加单列