php将blob从base64字符串插入mysql

时间:2017-10-20 17:06:54

标签: php android mysql web-services

我知道有几个类似的问题,我也知道最佳做法是将图像保留在服务器上,但我被告知这样做...好吧我发送base64字符串从android到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());

?>

1 个答案:

答案 0 :(得分:1)

使用$photo_blob = base64_encode($escaped);代替$photo_blob = base64_decode($escaped);。在处理从数据库中读取的base64_decode时,您需要base_64