Mysql
 sql >> Base de données >  >> RDS >> Mysql

contenu du fichier binaire affiché dans php print_r mais non enregistré dans mysql

RTM ;-)

Donc, je ne l'ai jamais fait moi-même, mais je suppose que cela doit ressembler à quelque chose comme ça en fonction de votre code et du exemple sur la page de documentation des fonctions :

    $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();