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