IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Invalid scalar function: REPLACE


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Juillet 2013
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 30
    Par défaut Invalid scalar function: REPLACE
    Bonjour,

    Je souhaite utiliser la fonction Replace du SQL pour modifier les champs d'une colonne via un ODBC mais j'obtient une erreur SQL alors que la requête marche via phpMyadmin !

    voici mon code qui est assez simple !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $odbc_connexion=odbc_connect($dsn_odbc,$user_odbc,$mdp_odbc); 
    		// Vérifier connection à ODBC
        if (!$odbc_connexion) 
               {
    		   exit("Connection Failed to ODBC: " . $odbc_connexion);
    		   }
     
    	$sqlodbc='UPDATE f_comptet SET CT_INTITULE=REPLACE(CT_INTITULE, "03", "5")'; 
    	$rs=odbc_exec($odbc_connexion,$sqlodbc); 
    	if (!$rs) 
    		{
    	exit("Erreur dans la requête".odbc_errormsg());
    		} 
        else {echo "requête executer avec succés";}
    L'erreur que je reçoit est : [Simba][Simba ODBC Driver]Invalid scalar function: REPLACE.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je suppose que le driver Simba ne gère pas les fonctions Mysql correctement.
    Il te faudrait un driver Mysql.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Inscrit en
    Juillet 2013
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 30
    Par défaut
    Merci pour votre réponse. Je vais installer driver Mysql et je vous tiens au courant.

  4. #4
    Membre averti
    Inscrit en
    Juillet 2013
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 30
    Par défaut
    Bonjour,

    J'ai installé Mysql driver mais l'erreur persiste ?!

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si tu as toujours l'erreur "Simba" c'est que tu n'a pas reconfiguré ton lien ODBC avec le driver mysql.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre averti
    Inscrit en
    Juillet 2013
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 30
    Par défaut
    Oui, c'est l'erreur "Simba" qui persiste. Je vais voir comment faire la configue du lien ODBC avec le driver mysql. Si vous savez comment je suis prôneur : )

  7. #7
    Membre averti
    Inscrit en
    Juillet 2013
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 30
    Par défaut
    Il faudra que j'utilise le driver SIMBA car je veux établir une connexion avec la base du SAGE. Le driver Mysql me permettra de connecter à une base Mysql et non pas à la base du Sage !
    Donc, il faudra utiliser la fonction Replace via le driver Simba !

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce n'est pas une base mysql que tu as ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre averti
    Inscrit en
    Juillet 2013
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 30
    Par défaut
    Non, j'ai une base du progiciel SAGE que j'y accède via ODBC. Je veux utiliser la fonction Replace du sql pour modifier des champs dans cette base SAGE.

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu nous parlais bien de PHPMyadmin au début non ?

    Est-ce que la fonction Replace existe dans ton sgdb ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre averti
    Inscrit en
    Juillet 2013
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 30
    Par défaut
    j'ai parlé de phpAdmine pour dire que j'ai testé ma requête SQL et il n'y a pas d'erreur. Comme SAGE accepte les requêtes SQL normalement mon code doit être fonctionnel mais j’aperçois que Replace n'est pas pris en compte par Simba !

    Normalement ça doit exister sur le sgbd vu SAGE accepte les requêtes SQL.

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    PHPMyadmin est une interface pour gérer des bases Mysql.
    Comme tous les SGDB, Mysql possède des fonctions et des syntaxes qui lui sont propres et ne respectent pas la norme SQL.

    Pour les infos que j'ai glané, SAGE fonctionne avec des bases de données variés , il serait interessant de savoir laquelle c'est dans ton cas.
    Également il semble que SAGE fournisse un driver ODBC, je ne sais pas si c'est déjà celui la que tu utilises.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre averti
    Inscrit en
    Juillet 2013
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 30
    Par défaut
    Via ce driver Simba que j'utilise, j'ai pu lire et écrire sans problème dans la base proprio cbase de Sage via des requêtes sql (select, update, etc). Mais quand j'ai voulu remplacer un champs via Replace je reçoit cette erreur !

    Comme solution, je vois que je devrai trouver une fonction sql qui remplace ma Replace vu que simba ne prend pas en considération Replace. D’où la question, il y a t-il un moyen de remplacer une chaîne via sql sans la requête Replace ?

Discussions similaires

  1. [AC-2003] function replace conversion date anglais
    Par lemask dans le forum VBA Access
    Réponses: 6
    Dernier message: 06/05/2009, 11h54
  2. Problème avec function replace
    Par f.morgan3 dans le forum Services Web
    Réponses: 2
    Dernier message: 18/03/2008, 10h08
  3. function replace non reconnu access 2000
    Par titeZ dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 25/02/2008, 10h59
  4. function replace fichier txt
    Par bailamos dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/04/2007, 23h58
  5. DAO : Function Replace() & Access 2000
    Par antidotes dans le forum VBA Access
    Réponses: 9
    Dernier message: 28/09/2005, 16h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo