Php upload pour insérer le nom d'une image dans une table

barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   -  
barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'essai d'utiliser l'extension php upload pour insérer le nom d'une image dans une table (le chargement de l'image fonctionne bien) mais apparamment cela fonctionne bien moins bien qu'avec du texte et d'autres données. Sauriez-vous quelle est la marche à suivre sachant que cette erreur s'affiche par-ce-que j'ai modifié le php.ini afin qu'il me retourne ce qui ne va pas. Dans un formulaire complet, tout fonctionne mis à part la récupération de la valeur de ce input file. Merci de votre aide.

Message d'ereur:

Column 'news_image' cannot be null

Comme si mon input file était "vide" (ce qui n'est pas le cas)

9 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    pour voir ce que tu reçoit de l'input file fais:

    echo '<pre>';
    print_r($_FILES);
    echo '</pre>';
    
    0
  2. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113
     
    Merci beaucoup, je vais essayer comme ça.
    0
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    oui mais ce que je t'ai donné c'est juste pour tester, pour voir le contenu de la variable globale $_FILES, après il faudra le suprimer
    0
  4. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113
     
    Voilà ce qu'affiche le résultat:

    array
    {
    }
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Alain_42 Messages postés 5413 Statut Membre 904
     
    tu as bien <input type="file" name="fichier" />
    0
  7. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113
     
    <input type="file" name="news_image" id="news_image" accesskey="i" />

    Je ne vois pas d'erreur
    0
  8. Alain_42 Messages postés 5413 Statut Membre 904
     
    tu as bien mis
    echo '<pre>';
    print_r($_FILES);
    echo '</pre>';


    dans le script php qui reçoit les données du formulaire
    0
  9. Utilisateur anonyme
     
    Bonjour

    As-tu bien mis method = "post" et enctype="multipart/form-data" dans ta balise <form> ?
    0
  10. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113
     
    Bonjour,

    J'ai bien mis pour tester: echo '<pre>'; print_r($_FILES); echo '</pre>';et: method = "post" et enctype="multipart/form-data" aussi d'ailleurs les autre input sont bien récupérés et insérés dans la table quand je désactive le input file (en commentaire)
    En fait quand je supprime de ma requête le input file, l'image se charge bien et les autres données sont enregistrées:
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "news_envoi")) {
    $insertSQL = sprintf("INSERT INTO news (news_titre, news_image, news_texte, news_lien, news_etat) VALUES (%s, %s, %s, %s, %s)",
    GetSQLValueString($_POST['news_titre'], "text"),
    GetSQLValueString($_POST['_name_'], "text"),
    GetSQLValueString($_POST['news_texte'], "text"),
    GetSQLValueString($_POST['news_lien'], "text"),
    GetSQLValueString(isset($_POST['news_etat']) ? "true" : "", "defined","1","0"));
    0