php从base64字符串将blob插入mysql

标签 php android mysql web-services

我知道有几个类似的问题,我也知道最佳实践是将图像保留在服务器上,但我被告知这样做......好吧,我正在从 android 发送 base64 字符串到 php webservice。我发送正确,也通过 postman 进行测试,以确保问题不是 Android 而是服务。我有错误:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解在 'oX?ë–§?=j?b?ED?Nϯ??=?|?pv??Ñ'Qv}gX?' 附近使用的正确语法在第 2 行

<?php
header('Content-Type: text/html; charset=utf-8');

// array for JSON response
$response = array();

// include db connect class
    require_once '../config/db_connect.php';

    $db = new DB_CONNECT();

    $host_id = $_POST['host_id'];
    $name = $_POST['event_name'];
    $description = $_POST['event_description'];
    $date = $_POST['date'];
    $photo = $_POST['photo'];
    // get all products from products table
    $escaped = mysql_escape_string ($photo);
    $photo_blob = base64_decode($escaped);

    //echo $photo_blob;

    $result = mysql_query(
    'INSERT INTO dogadjaj (host_id, name, description, date, photo) 
    VALUES ("' . $host_id . '" ,"' . $name .'", "' . $description . '", "' . $date . '", "' . $photo_blob . '");')
    or die(mysql_error());

?>

最佳答案

使用 $photo_blob = base64_encode($escaped); 而不是 $photo_blob = base64_decode($escaped);。处理从数据库读取的 base_64 时,您需要 base64_decode

关于php从base64字符串将blob插入mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46854009/

相关文章:

android - Android 中的透明帮助 Activity

MYSQL算算算不算?

mysql - 将 CSV 导入 MySQL 并转换日期

php - 从多个文件输入中单独上传文件 - 仅使用一个提交按钮

android - SubscriptionManager 为运行 Android 5.1+ 的双 SIM 卡设备读取 IMSI

android - Android 的默认样式(特别是 ButtonBar 和 ButtonBar.Button)是如何呈现的?

mysql - 后续排序和递增计数器

php - Laravel - SSL 证书错误 : unable to get local issuer certificate

php - sql 字段值加一

php - 处理导航栏溢出