Je recherche le code comme ceci:Comment construire de grandes requêtes MySQL INSERT en PHP sans perdre la mémoire
$data = file_get_contents($tempFile); // perhaps 30MB of file data, now in PHP's memory
$hash = md5($data);
$query = "INSERT INTO some_table
SET BlobData = '" . mysql_real_escape_string($data) . "',
BlobHash = '$hash'
";
mysql_query($query);
Je sais que ce n'est pas très efficace car chacun des « » les opérateurs réalloueront un plus grand bloc de mémoire et la chaîne de 30 Mo sera copiée plusieurs fois.
Y a-t-il quelque chose de plus efficace que la solution suivante?
$data = file_get_contents($tempFile); // perhaps 30MB of file data, now in PHP's memory
$hash = md5($data);
$query = "INSERT INTO some_table SET BlobData = '%s', BlobHash = '$hash'";
mysql_query(sprintf($query, mysql_real_escape_string($data)));
Problème avec PDO est qu'il émule seulement les instructions préparées si vous n'avez pas la bibliothèque mysqli. Tout ce que cela fait est de déplacer le concaténer dans la bibliothèque PDO. – jmucchiello