Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Inhalt der Binärdatei wird in PHP print_r angezeigt, aber nicht in mysql gespeichert

RTM ;-)

Ich habe das also noch nie selbst gemacht, aber ich würde davon ausgehen, dass es basierend auf Ihrem Code und dem Beispiel auf der Funktionsdokumentationsseite :

    $filepath = ini_get('upload_tmp_dir')."/".basename($_FILES['file'.$i]['tmp_name']);
    $filepath = addslashes($filepath);
    $handle = fopen($filepath, "rb");
    $content = null;

    $stmt = $mysqli->prepare("INSERT INTO attachment (filename,filecontent,mkey) VALUES (?,?,?)");
    $stmt->bind_param("sbi",$_FILES['file'.$i]['name'], $content, $mkey);

    while (!feof($handle)) {
        // $maxPacketSize would be the size of your max packet setting for mysql,
        // or something safely assumed to be below it
        $stmt->send_long_data(1, fread($handle, $maxPacketSize));
    }
    fclose($handle);
    $stmt->execute();