在我的应用程序中我试图将图像从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
他展示了许多我不认识的符号。我创建了一个表,其中一行可以添加100 000个TEXT
符号我试图将值添加为blob
并尝试将整理更改为binary
没有任何工作你有没有想法?
答案 0 :(得分:1)
为什么没有人费心去引用他们的东西?
table
是我所知道的所有SQL方言中的关键字,因此会导致语法错误
但出于这个原因,已经发明了引号和反引号。
这样做:
INSERT INTO `table` (`image`) VALUES ...
你应该少解决一个问题。
此外,你必须逃避$binary
变量,否则它会打破你的'
引号:
$binary = mysqli_real_escape_string($conn, base64_decode($base));