我知道有几个类似的问题,我也知道最佳实践是将图像保留在服务器上,但我被告知这样做......好吧,我正在从 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/