在我的应用程序中,我试图将图像从android发布到phpmyadmin,我也创建了php代码,在这里:
MyPhp.php:
<?php
$servername = "dontneedthis";
$username = "also";
$password = "dont care";
$dbname = "bla bla";
$conn =mysqli_connect('localhost', $username, $password);
$db_selected = mysqli_select_db($conn, $dbname);
if (!$db_selected) {
die ('Can\'t use db : ' . mysql_error());
}
$base=$_REQUEST['image'];
$filename = $_REQUEST['filename'];
$binary=base64_decode($base);
$sql = "INSERT INTO table (image) VALUES('{$binary}')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
当我从android上传图像时,出现错误,表明他确实理解这一点:
INSERT INTO table (image) VALUES
他展示了许多我不认识的符号。我创建了一个表,其中一行可以添加100000个
TEXT
符号。我试图将值添加为blob
,并尝试将排序规则更改为binary
,但是没有任何用处吗? 最佳答案
为什么没有人会费心地引用自己的东西?table
是我所知道的所有SQL方言中的关键字,因此会导致语法错误。
但是由于这个原因,引号和反引号被发明了。
做这个:
INSERT INTO `table` (`image`) VALUES ...
而且您应该少遇到一个问题。
另外,您必须转义
$binary
变量,否则它将破坏您的'
引号:$binary = mysqli_real_escape_string($conn, base64_decode($base));