从Android发布phpmyadmin中的Base64编码值

时间:2015-04-20 17:18:51

标签: php android

在我的应用程序中我试图将图像从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没有任何工作你有没有想法?

1 个答案:

答案 0 :(得分:1)

为什么没有人费心去引用他们的东西?

table是我所知道的所有SQL方言中的关键字,因此会导致语法错误 但出于这个原因,已经发明了引号和反引号。

这样做:

INSERT INTO `table` (`image`) VALUES ...

你应该少解决一个问题。

此外,你必须逃避$binary变量,否则它会打破你的'引号:

$binary = mysqli_real_escape_string($conn, base64_decode($base));