You are not logged in.
Bonjour à tous,
J'utilise GLPI depuis quelques mois mais simplement pour la partie helpdesk et inventaire des postes (couplé avec OCS Inventory Ver. 4100) et à présent j'ai besoin d'ajouter un lieu pour différencier les salles dans lesquelles sont situées certaines machines....
Impossible de le faire car lorsque je vais dans Configuration / Intitulés / Ajouter un lieu, je remplis le champ du lieu et je clique sur Ajouter mais je reviens sur l a meme page sans que ce nouveau lieu ai été créé...
En passant en mode Debug, le message d'erreur survient dès que je me rends dans le menu Configuration / Intitulés et que je clique sur Valider pour afficher les champs à remplir pour ajouter un lieu et réapparait à l'identique au moment où je valide mon entrée avec le bouton Ajouter :
PHP ERROR: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/glpi/inc/dbmysql.class.php at line 168
J'ai eu beau chercher sur le forum, le seul posts qui y ressemble a été fermé prématurément suite à une réinstallation mais évidemment je ne voudrais pas passer par cette étape : http://www.glpi-project.org/forum/viewt … p?id=12019
Voilà les messages récupérés dans les logs :
Pour PHP
2009-02-13 10:28:22
Warning(2): mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Backtrace :
/var/www/glpi/inc/dbmysql.class.php:168 mysql_fetch_array()
/var/www/glpi/inc/db.function.php:56 DBmysql->fetch_array()
/var/www/glpi/inc/db.function.php:81 countElementsInTable()
/var/www/glpi/inc/setup.function.php:138 countElementsInTableForEntity()
/var/www/glpi/front/setup.dropdowns.php:299 showFormTreeDown()
Pour MySQL
2009-02-13 10:28:22
*** MySQL query error :
***
SQL: SELECT ID FROM glpi_dropdown_locations WHERE FK_entities = \'0\' AND name= \'test\' AND parentID=\'0\'
Error: Unknown column 'FK_entities' in 'where clause'
Backtrace :
/var/www/glpi/inc/setup.function.php:540 DBmysql->query()
/var/www/glpi/inc/setup.function.php:632 getDropdownID()
/var/www/glpi/front/setup.dropdowns.php:102 addDropdown()
/var/www/glpi/front/setup.dropdowns.php
2009-02-13 10:28:22
*** MySQL query error :
***
SQL: INSERT INTO glpi_dropdown_locations (FK_entities,name,parentID,completename,comments) VALUES (\'0\',\'test\', \'0\',\'\',\'\')
Error: Unknown column 'FK_entities' in 'field list'
Backtrace :
/var/www/glpi/inc/setup.function.php:674 DBmysql->query()
/var/www/glpi/front/setup.dropdowns.php:102 addDropdown()
/var/www/glpi/front/setup.dropdowns.php
2009-02-13 10:28:22
*** MySQL query error :
***
SQL: SELECT count(*) AS cpt
FROM glpi_dropdown_locations WHERE ( glpi_dropdown_locations.FK_entities = \'0\' )
Error: Unknown column 'glpi_dropdown_locations.FK_entities' in 'where clause'
Backtrace :
/var/www/glpi/inc/db.function.php:55 DBmysql->query()
/var/www/glpi/inc/db.function.php:81 countElementsInTable()
/var/www/glpi/inc/setup.function.php:138 countElementsInTableForEntity()
/var/www/glpi/front/setup.dropdowns.php:299 showFormTreeDown()
/var/www/glpi/front/setup.dropdowns.php
Merci d'avance pour votre aide...
GLPI 0.84.5 / RedHat Server 5.8 / MySQL version 5.0.95 / PHP 5.3.3
Offline
bonjour,
vous avez migré votre base d'une ancienne version à celle-ci ?
c'est bizarre que ce champs ne soit pas présent. c'est comme si vous avez migré et que le processus a planté à un moment
Offline
J'ai du faire une mise à jour vers la version actuelle mais sans plantage apparant à l"époque.
GLPI 0.84.5 / RedHat Server 5.8 / MySQL version 5.0.95 / PHP 5.3.3
Offline
de quelle version vers quelle version ?
Offline
Une mise à jour depuis la 0.70.2 il me semble...
GLPI 0.84.5 / RedHat Server 5.8 / MySQL version 5.0.95 / PHP 5.3.3
Offline
Up
Personne n'a une idée svp ?
Merci d'avance...
GLPI 0.84.5 / RedHat Server 5.8 / MySQL version 5.0.95 / PHP 5.3.3
Offline
Pourquoi ne veut tu pas essayer de réinstaller ta version ?
Tu n'auras aucune perte de données si ça peut te rassurer...
GLPI 0.90.5 - OCS 2.3.1 - Plugin OCS / GLPI 1.2.2
Offline
Merci pour ta suggestion petithomme mais si je dois réinstaller, je prefererais faire une mise à jour vers la dernière version, est-ce que je risque qque chose selon toi ?
Sinon, personne ne sait comment résoudre mon problème sans réinstallation ?
Merci d'avance pour votre aide...
GLPI 0.84.5 / RedHat Server 5.8 / MySQL version 5.0.95 / PHP 5.3.3
Offline
Bon bah je me suis lancé à mettre à jour ma version vers la dernière stable en date...
Mise à jour passée sans problèmes....mais le problème reste identique... :
Au moment où je valide l'intitulé Lieu pour en ajouter un :
"PHP ERROR: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/glpi/inc/dbmysql.class.php at line 172"
Voici les détails de l'erreur du mode debug :
Requete :
SELECT count(*) AS cpt
FROM `glpi_dropdown_locations`
WHERE ( glpi_dropdown_locations.FK_entities = '0' )
Résultat :
Unknown column 'glpi_dropdown_locations.FK_entities' in 'where clause'
Est-ce quelqu'un peut m'aider svp ?
Est-ce que rajouter la colonne manquante serait une solution ? Si oui, comment ?
Merci d'avance pour votre soutien...
GLPI 0.84.5 / RedHat Server 5.8 / MySQL version 5.0.95 / PHP 5.3.3
Offline
Vous avez quel version de PHP ?
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Bonjour,
PHP 5.2.4-2ubuntu5.3
GLPI 0.84.5 / RedHat Server 5.8 / MySQL version 5.0.95 / PHP 5.3.3
Offline
Unknown column 'glpi_dropdown_locations.FK_entities' in 'where clause'
Pour moi c'est clair, le schéma de ta base n'est pas correct.
Donc je ne vois que quelques pistes :
- faire un export de ton schéma et le comparé à celui de la version utilisée pour découvrir les différences et tenter de les corriger
- reprendre ta sauvegarde d'avant migration et la rejouer.
++
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Merci pour ta réponse rémi...
- Euh...faire un export de mon schéma...???.... Tu peux me dire comment faire ???
- Reprendre ma sauvegarde...? La mise à jour date de l'année dernière et je n'avais quasiment pas de données dedans ???
Est-ce qu'il n'est pas possible de résoudre le problème autrement ?
Recréer ce qui manque ?
...J'y connais rien en db moi...
Help please...
GLPI 0.84.5 / RedHat Server 5.8 / MySQL version 5.0.95 / PHP 5.3.3
Offline
Up
A l'aide...merci....
GLPI 0.84.5 / RedHat Server 5.8 / MySQL version 5.0.95 / PHP 5.3.3
Offline
> ...J'y connais rien en db moi...
Comment veux-tu qu'on t'aide dans ces conditions.
+
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Pour savoir si tu as une sauvegarde de ta base tu peux déjà aller voir dans "Administration > Données".
GLPI 0.90.5 - OCS 2.3.1 - Plugin OCS / GLPI 1.2.2
Offline
Ce que je veux dire c'est que j'ai fait cette sauvegarde juste après avoir installé la première version et je n'avais pas de données dedans...
Est-ce que ce n'est pas possible de recréer une nouvelle instance de GLPI avec une nouvelle base et de réinjecter mes données dedans ? si oui, comment faire ?
Merci d'avance.
GLPI 0.84.5 / RedHat Server 5.8 / MySQL version 5.0.95 / PHP 5.3.3
Offline
Up
Personne n'a une idée????
GLPI 0.84.5 / RedHat Server 5.8 / MySQL version 5.0.95 / PHP 5.3.3
Offline
Bonjour, c'est peut-être l'architecture de votre base de donnée actuelle qui est en cause...
Tentez une sauvegarde de votre base actuelle et comparez là avec la base vide des sources d'installations (https://dev.indepnet.net/glpi/browser/b … -empty.sql).
La table en cause parait être être la table glpi_dropdown_locations. Sa structure est normalement :
### Dump table glpi_dropdown_locations
1058
1059 DROP TABLE IF EXISTS `glpi_dropdown_locations`;
1060 CREATE TABLE `glpi_dropdown_locations` (
1061 `ID` int(11) NOT NULL auto_increment,
1062 `FK_entities` int(11) NOT NULL default '0',
1063 `name` varchar(255) collate utf8_unicode_ci default NULL,
1064 `parentID` int(11) NOT NULL default '0',
1065 `completename` text collate utf8_unicode_ci,
1066 `comments` text collate utf8_unicode_ci,
1067 `level` int(11) NOT NULL default '0',
1068 PRIMARY KEY (`ID`),
1069 UNIQUE KEY `name` (`name`,`parentID`,`FK_entities`),
1070 KEY `parentID` (`parentID`),
1071 KEY `FK_entities` (`FK_entities`)
1072 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Vérifiez que vos sauvegardes actuelles contiennent bien les même lignes.
Bon courage
Offline
La table en cause parait être être la table glpi_dropdown_locations. Sa structure est normalement :
### Dump table glpi_dropdown_locations 1058 1059 DROP TABLE IF EXISTS `glpi_dropdown_locations`; 1060 CREATE TABLE `glpi_dropdown_locations` ( 1061 `ID` int(11) NOT NULL auto_increment, 1062 `FK_entities` int(11) NOT NULL default '0', 1063 `name` varchar(255) collate utf8_unicode_ci default NULL, 1064 `parentID` int(11) NOT NULL default '0', 1065 `completename` text collate utf8_unicode_ci, 1066 `comments` text collate utf8_unicode_ci, 1067 `level` int(11) NOT NULL default '0', 1068 PRIMARY KEY (`ID`), 1069 UNIQUE KEY `name` (`name`,`parentID`,`FK_entities`), 1070 KEY `parentID` (`parentID`), 1071 KEY `FK_entities` (`FK_entities`) 1072 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Voici le contenu de ma base concernant cette table :
### Dump table glpi_dropdown_locations
DROP TABLE IF EXISTS `glpi_dropdown_locations`;
CREATE TABLE `glpi_dropdown_locations` (
`ID` int(11) NOT NULL auto_increment,
`name` varchar(255) collate latin1_general_ci NOT NULL,
`parentID` int(11) NOT NULL,
`comments` text collate latin1_general_ci,
`completename` text collate latin1_general_ci NOT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `name` (`name`,`parentID`),
KEY `parentID` (`parentID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
Il manque effectivement quelques lignes si on compare avec les données d'install...
Comment dois-je faire pour résoudre le problème et insérer ces lignes ?
Merci d'avance pour le coup de main !
GLPI 0.84.5 / RedHat Server 5.8 / MySQL version 5.0.95 / PHP 5.3.3
Offline
la mise à jour a copieusement merdé si vous avec des tables dans cet état.
Je doute que comme vous le disiez cela s'était bien passé.
La meilleure solution reprendre un backup de la db avant mise à jour et fefaire la mise à jour en s'assurant que celle ci a toutes les chances de réussir (memory limit, timeout dans le php.ini etc...)
JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au projet GLPI : Soutenir
Offline
Mon problème, c'est que je n'ai pas de sauvegarde avant cette mise à jour...
J'ai fait la mise à jour au tout début après avoir installé une première version et sans qu'il y ait de données à l'intérieur.
Je travaille depuis toujours avec une base pourrie, c'est bien ça ?
Est-ce qu'il y a un autre moyen ???
GLPI 0.84.5 / RedHat Server 5.8 / MySQL version 5.0.95 / PHP 5.3.3
Offline
C'est uniquement un problème de compétence.
Quelqu'un qui connait bien MySQL pourra comparer les schémas et tenter de réparer (s'il n'y a pas trop de table concernés).
>>> ...J'y connais rien en db moi...
Donc : trouve/paie quelqu'un qui s'y connaisse.
+
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Ok et si je veux repartir de zéro, est-ce que c'est possible ensuite de réinjecter des données de cette base dans une base toute neuve toute propre ?
GLPI 0.84.5 / RedHat Server 5.8 / MySQL version 5.0.95 / PHP 5.3.3
Offline
Si je ne me trompe pas, le schéma de votre base de donnée actuelle correspond à une version antérieure à la version 0.7.
La table en cause ici (glpi_dropdown_locations) peut être reconstruite mais le problème est de savoir si c'est la seule à présenter des anomalies...
Une piste à explorer pourrait être :
- installation d'une version 0.68
- import de votre base actuelle
- mise à jour de la version 0.68 en 0.71.5 (en tenant compte des remarques de JMD sur la configuration de php.ini pour que la maj réussisse)
Offline