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

pdo insère l'image directement dans la base de données - toujours en insérant BLOB - 0B

Vous avez presque compris, vous voulez PDO::PARAM_LOB être un pointeur de fichier que vous avez créé ci-dessus, pas le résultat de la lecture du 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();
}