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

Discussion :

Pb pour faire des insert "Invalid query"


Sujet :

PhpMyObject

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    mai 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2004
    Messages : 8
    Points : 10
    Points
    10
    Par défaut Pb pour faire des insert "Invalid query"
    Bonjour a tous!

    Pour commencer voici ma config :
    PHP Version 5.2.1
    server MySQL - 5.0.26
    pmo 0.08
    et ds mon phpinfo.php je trouve entre autres:
    pdo support enabled
    PDO drivers sqlite2,sqlite

    et voici mon script
    test.php

    dans le fichier connexion.php de pmo ontrouve:

    require ('monchemin/pmo/core/PMO_MyController.php');

    $driverz = 'mysql';

    /* $pdodriverz comment if you don't use pdo */
    $pdodriverz = 'mysql';

    $hostz = 'localhost';
    $userz = '****';
    $passz = '****';
    $basez = '****';

    $langue = PMO_MyObject::factory("langue");
    $langue->langue = "italien";
    $langue->commit();

    Nota :
    j'ai modifié le PMO_sgbd_mysql.php
    pour qu'il me remonte la requete effectué

    et voici la structure de la table langue:

    CREATE TABLE `langue` (
    `id_langue` int(10) unsigned NOT NULL auto_increment,
    `langue` varchar(50) default NULL,
    PRIMARY KEY (`id_langue`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

    INSERT INTO `langue` (`id_langue`, `langue`) VALUES (1, 'Français');

    (plus simple tu meurs! :-) )

    A l'appel de mon scrip test.php j'obtiens en affichage retour:
    "Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
    UPDATE langue SET langue="italien" WHERE id_langue=; "

    dejà je ne comprends pas pkoi il cherche a faire un update puisque je lui demande de faire un insert..?
    j'ai bien essayé en precisant l'id genre en rajoutant:
    $langue->id_langue = 1;

    mais la c'est pire meme avec:
    ini_set('display_errors', 'on');
    il ne m'affiche rien en retour...!!!

    chose etrange
    je reéssayais ce script avec un autre table
    ma table test que voici:

    CREATE TABLE `test` (
    `nom` varchar(50) default NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    et avec mon script de test legerement modifié que voici:

    $test = PMO_MyObject::factory("test");
    $test->nom = "un texte";
    $test->commit();

    et là je vous le donne en mille... ca marche!

    C'est d'autant plus etrange que quand je lui demande de m'afficher le contenu de mes "map" y'a pas de problemes...

    Donc une question bète me brule les levre...
    pmo gere t-il bien l'insert dans dans une table possedant une clef primaire?
    gere t'il egalement les clefs étrangères?


    Donc si kelk'un a deja rencontré ce probleme merci d'avance de m'eclairer!

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 158
    Points
    158
    Par défaut
    lut,

    Il faut modifier la methode commit() de PMO_MyTable pour vérifier que l'attribut n'est pas empty à la place de isset.

    La version 0.09 corrige ce problème et permet d'utiliser plusieurs clefs primaires et gèra l'autoincrement.
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Impossible de faire des insert dans la base h2 console à l'aide d'une Query et EntityManager
    Par informatica1989 dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 15/11/2012, 22h45
  2. Outil gratuit pour faire des scripts insert SQL
    Par Nico820 dans le forum Outils
    Réponses: 2
    Dernier message: 13/04/2011, 08h52
  3. [audio] logiciel pour faire des .au ?
    Par Seiya dans le forum Multimédia
    Réponses: 7
    Dernier message: 05/01/2005, 00h41
  4. problème pour faire des blocs
    Par tinkye_winkye dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 04/01/2005, 14h13

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