|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : mai 2004 Messages : 8 ![]() |
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! |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : janvier 2003 Messages : 181 ![]() |
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 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com