php将blob从base64字符串插入mysql

php将blob从base64字符串插入mysql,php,android,mysql,web-services,Php,Android,Mysql,Web Services,我知道有几个类似的问题,我也知道最好的做法是在服务器上保存图像,但我被告知这样做。。。我正在将base64字符串从android发送到php Web服务。我把它发对了,还通过邮递员进行了测试,以确保问题不在于安卓系统,而在于服务。我有一个错误:您的SQL语法有一个错误;检查与您的MariaDB服务器版本相对应的手册,以了解第2行“oX”–§?=j?b?ED?NÏ???=??pv?ñ'Qv}gX?附近使用的正确语法 使用$photo\u blob=base64\u编码$escaped;而不是$ph

我知道有几个类似的问题,我也知道最好的做法是在服务器上保存图像,但我被告知这样做。。。我正在将base64字符串从android发送到php Web服务。我把它发对了,还通过邮递员进行了测试,以确保问题不在于安卓系统,而在于服务。我有一个错误:您的SQL语法有一个错误;检查与您的MariaDB服务器版本相对应的手册,以了解第2行“oX”–§?=j?b?ED?NÏ???=??pv?ñ'Qv}gX?附近使用的正确语法


使用$photo\u blob=base64\u编码$escaped;而不是$photo\u blob=base64\u解码$escaped;。在处理从数据库读取的base_64时,您需要base64_解码。

首先,停止使用mysql_*函数。它们已经被弃用了很长一段时间,并在PHP7中删除。第二,学习准备好的陈述。您当前易受SQL注入攻击。第三,为什么要在base64_解码之前运行mysql_escape_字符串?您将使用base64_编码;非base64_解码;生成base64编码字符串。@JohnB.Walugembe,哎哟。我不知道我为什么把它放在。。。。这就是答案非常感谢!!!好的,谢谢,我已经删除了完整的答案,并使用了评论,因为我不确定。我现在已取消删除答案。
<?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());

?>