He código buscando algo como esto:Cómo construir grandes consulta MySQL INSERT en PHP sin perder la memoria
$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);
Sé que esto no es muy eficiente ya que cada uno de los ''. los operadores reasignarán un bloque de memoria más grande y la cadena de 30MB se copiará varias veces.
¿Hay algo más eficiente que la siguiente solución?
$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)));
Problema con PDO es que solo emula declaraciones preparadas si no tiene la biblioteca mysqli. Entonces todo lo que hace es mover la concatenación a la biblioteca PDO. – jmucchiello