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!
Partager