Mysql
 sql >> Database >  >> RDS >> Mysql

pdo inserisci l'immagine direttamente nel database, inserendo sempre BLOB - 0B

Hai quasi capito, vuoi PDO::PARAM_LOB essere un puntatore a un file che hai creato sopra, non il risultato della lettura di fp

if (isset($_FILES['image']) && $_FILES['image']['size'] > 0) 
{ 
   $tmpName  = $_FILES['image']['tmp_name'];  

   $fp = fopen($tmpName, 'rb'); // read binary
} 

try
{
   $stmt = $conn->prepare("INSERT INTO images ( picture ) VALUES ( ? )");
   $stmt->bindParam(1, $fp, PDO::PARAM_LOB);
   $conn->errorInfo();
   $stmt->execute();
}
catch(PDOException $e)
{
   'Error : ' .$e->getMessage();
}