[PHP MSSQL]Problème d'upload

Bonjour,

J'ai réalisé un formulaire qui permet d'inscrire des informations personnelles et d'uploader un fichier. Réalisée en Php, cette application fonctionne.
Ces informations saisies, elles doivent toutes (y compris le fichier) être enregistrées dans une base de donnée MSSQL, via une liaison ODBC (ça, c'est obligatoire, je ne peux pas faire autrement).
Le problème, c'est que la requête d'inscription donnée ci-dessous me génère une erreur également donnée ci-dessous :

INSERT INTO MaTable (nom, prenom, adresse, photo)VALUES('$nom','$prenom','$adresse','$fichier')
$fichier étant un fichier correctement lu en binaire

Erreur :
PHP Warning: odbc_exec(): SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Ouvrez les guillemets avant la chaîne de caractères 'ÿØÿà'., SQL state 37000 in SQLExecDirect in LeFichier

Si quelqu'un voit d'où peut venir le problème...

En vous remerciant par avance,

Cordialement,

Gérard Klein

10 réponses

  1. Bonjour,

    C'était juste pour vous dire que je n'ai toujours pas trouvé, et que j'ai essayé un transtypage sans plus de succès (mais peut-être que je m'y suis pris comme un manche aussi).

    Voilà,

    Merci par avance
    0
    1. essaye de mettre '".$ficher."' au lieu de '$ficher'
      0
      1. Pas mieux...
        Pas si simple hélas...
        Merci !
        0
        1. j'ai jamais joué avec des fichiers image en binaire mais si tu supprimes les quotes autour de $fichier, vu que c'est du binaire donc des chiffres y'en a pas besoin et ca peut peut etre ne pas convenir au type requis par ta bdd...
          0
          1. Merci, mais malheureusement, ça ne fonctionne pas mieux...
            0
            1. Y a pas une fonction spécifique pour le binaire?
              0
              1. Il faudrait certainement que je puisse convertir ces données en une chaîne de caractère non binaire... Mais je ne connais pas de fonction permettant de le faire.
                C'est une bonne piste cependant.
                0
                1. A tout hasard, Essaye d'ajouter avant ta requete :
                  $fichier=addslashes($fichier);
                  0
                  1. Et non Padoo, ça ne marche pas non plus : l'échappement sous SQL Server, c'est pas le "\", mais le doublage de quote ''...

                    En revanche, l'utilisation de addslshes me fait apparaître un \' à un endroit où il n'y a même pas de '
                    J'avoue que je ne comprends pas très bien...
                    0
                    1. Ca veut dire que la traduction du binaire te donne un caractère a echapper qu'il faut donc que tu echappe, c'est la cause de ton erreur.
                      0