Salut,
Oui, c'est possible d'insérer des images dans une table sans utiliser de formulaire, mais c'est un peu plus compliqué. Il faut d'abord convertir ton image en une chaîne de caractères, par exemple en utilisant la fonction base64_encode de PHP. Ensuite, il faut insérer cette chaîne dans un champ de type BLOB ou TEXT de ta table, en utilisant une requête préparée. Enfin, il faut récupérer ton image en utilisant la fonction inverse, base64_decode, et en lui spécifiant le bon type MIME.
Voici un exemple de code qui illustre cette méthode :
// Connexion à la base de données
$pdo = new PDO('mysql:host=localhost;dbname=ma_bdd', 'root', '');
// Chemin de l'image à insérer
$image = 'mon_image.jpg';
// Conversion de l'image en chaîne de caractères
$data = file_get_contents($image);
$data = base64_encode($data);
// Insertion de l'image dans la table
$sql = "INSERT INTO ma_table (id, image) VALUES (:id, :image)";
$stmt = $pdo->prepare($sql);
$stmt->execute(['id' => 1, 'image' => $data]);
// Récupération de l'image depuis la table
$sql = "SELECT image FROM ma_table WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->execute(['id' => 1]);
$data = $stmt->fetchColumn();
// Conversion de la chaîne de caractères en image
$data = base64_decode($data);
header('Content-type: image/jpeg');
echo $data;
J'espère que ça t'aide. Si tu as d'autres questions, n'hésite pas à les poser.