Ich bin mir nicht so sicher, wie man ein Bild in PHP verarbeitet, um es in einen Blob-Typ in MYSQLI zu setzen. Hier ist mein Code so weit ...Wie kann ich ein Bild in mysqli eingeben?
<?php
$servername = ""; //Taken out for stack overflow question
$username = ""; //Taken out for stack overflow question
$password = ""; //Taken out for stack overflow question
$dbname = ""; //Taken out for stack overflow question
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn)
{
echo 'Could not connect';
}
else
{
if (!empty($_FILES['cf'] && $_POST['category']))
{
$file = $conn->real_escape_string($_FILES['cf']['tmp_name']);
mysqli_query($conn, "INSERT INTO adDatabase(".$category.") VALUES(".$file.")");
}
else
{
echo 'Empty file';
}
}
mysqli_close($conn);
?>
nun der Wert des Bildes nicht null ist, so das Bild verarbeitet wird. Aber ich kann es nicht verarbeiten. Normalerweise mache ich eine Variable $ var = $ _POST ['cf']; dann füge ich das in die Abfrage ein. Ich habe auch versucht, $ var = $ _FILES ['cf']; aber es wird nicht verarbeitet. Gibt es noch etwas, was ich tun muss, damit es richtig gesendet/verarbeitet wird?
bearbeiten basierend auf Antwort
änderte ich meine PHP zu etwas, das eine Antwort
<?php
$servername = ""; //Taken out for stack overflow question
$username = ""; //Taken out for stack overflow question
$password = ""; //Taken out for stack overflow question
$dbname = ""; //Taken out for stack overflow question
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn)
{
echo 'Could not connect';
}
else
{
if (!empty($_FILES['cf'] && $_POST['category']))
{
try
{
$file = $conn->real_escape_string($_FILES['cf']['tmp_name']);
$filecontents = File_Get_Contents($file);
$filecontentssafe = $conn->real_escape_string($filecontents);
mysqli_query($conn, "INSERT INTO adDatabase(".$category.") VALUES(".$file.")");
echo 'Query successful';
}
catch(Exception $e)
{
echo 'Could not perform action' + $e;
}
}
else
{
echo 'Empty file';
}
}
mysqli_close($conn);
?>
Nun aber .. nichts geht in die Datenbank ähnelt ich sehe Abfrage erfolgreich.
Bearbeiten - hinzugefügte Datei abrufen
<?php
$servername = "";
$username = "";
$passcode = "";
$dbname = "";
$conn = mysqli_connect($servername, $username, $passcode, $dbname);
if (!$conn)
{
echo 'Could not connect';
}
else
{
try
{
$sql_query = mysqli_query($conn, "SELECT * FROM `adDatabase`");
while ($row = mysqli_fetch_array($sql_query))
{
$id = $row['ID'];
$img = $row['img'];
$image = '<img src="data:image/png;base64,'.base64_encode($row['food']).'" style="height: 12em; width: 12em; margin: 1em; padding: 0.9em; " >';
echo $image;
}
}
catch(Exception $e)
{
echo $e;
}
}
?>
Wie ich Informationen abrufen
Sie haben eine SQL-Injection-Schwachstelle. – SLaks
'var_dump ($ _ FILES)'. Was ist in $ _FILES ist nur Informationen über den Upload. es ist NICHT der eigentliche Dateiinhalt. –
Weder SSL noch andere Sicherheitsmethoden helfen in irgendeiner Weise bei der SQL-Injektion. Sie müssen Sicherheitslücken verstehen. Und die Verwendung von Parametern wird Ihr Problem trotzdem beheben. – SLaks