Heim > Datenbank > MySQL-Tutorial > Wie füge ich Bilder mit PHP richtig in eine MySQL-Datenbank ein?

Wie füge ich Bilder mit PHP richtig in eine MySQL-Datenbank ein?

Patricia Arquette
Freigeben: 2024-12-31 13:17:18
Original
904 Leute haben es durchsucht

How to Properly Insert Images into a MySQL Database Using PHP?

So fügen Sie Bilder mit PHP in eine MySQL-Datenbank ein

Problem:

Sie versuchen, Bilder in zu speichern eine MySQL-Datenbank, aber das Programm fügt die Bilddaten nicht ein.

Auszug aus bereitgestellt Code:

    $file = $_FILES['image']['tmp_name'];
    ...
    if ($image_query = mysql_query ("insert into product_images values (1,'$image_name',$image )"))
    {
        ...
    }
Nach dem Login kopieren

Fehlermeldung:

Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, auf die richtige Syntax.

Lösung:

1. Stellen Sie sicher, dass die Bildspalte vom BLOB-Typ ist:
Stellen Sie sicher, dass die Spalte, die Sie zum Speichern der Bilder verwenden, vom BLOB-Datentyp ist.

2. Bereinigen Sie die Eingabedaten:
Verwenden Sie MySQLi-Funktionen, um SQL-Abfragen zu verarbeiten und Sonderzeichen in den Eingabedaten zu maskieren, um SQL-Injection zu verhindern.

Korrigierter Code (unter der Annahme, dass die ID immer „1“ ist) ):

$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name = addslashes($_FILES['image']['name']);

$query = "INSERT INTO product_images (id, image, image_name) VALUES ('1', '{$image}', '{$image_name}')";

if (mysqli_query($conn, $query)) {
    ...
}
Nach dem Login kopieren

3. HTML-Formular aktualisieren:
Das HTML-Formular sollte aktualisiert werden, um das richtige Enctype-Attribut zum Hochladen von Dateien zu verwenden:

<form action="insert_product.php" method="POST" enctype="multipart/form-data">
    <input type="file" name="image" />
    <input type="submit" />
</form>
Nach dem Login kopieren

4. Speichern Sie Dateien auf der Festplatte (optional):
Erwägen Sie, Bilddateien auf der Festplatte zu speichern, anstatt für große Datenmengen eine MySQL-Datenbank zu verwenden. Dies kann die Leistung verbessern und die Datenbanklast reduzieren.

Das obige ist der detaillierte Inhalt vonWie füge ich Bilder mit PHP richtig in eine MySQL-Datenbank ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage