You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2009-02-13 11:52:22

lukweb
Member
Registered: 2008-07-24
Posts: 33

impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#2 2009-02-13 12:01:32

wawa
GLPI-DEV
From: Montpellier / France
Registered: 2006-07-03
Posts: 6,019
Website

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#3 2009-02-13 12:07:59

lukweb
Member
Registered: 2008-07-24
Posts: 33

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#4 2009-02-13 12:08:20

wawa
GLPI-DEV
From: Montpellier / France
Registered: 2006-07-03
Posts: 6,019
Website

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

de quelle version vers quelle version ?

Offline

#5 2009-02-13 12:09:39

lukweb
Member
Registered: 2008-07-24
Posts: 33

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#6 2009-02-16 12:21:42

lukweb
Member
Registered: 2008-07-24
Posts: 33

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#7 2009-02-16 12:46:45

petithomme
Member
Registered: 2009-01-05
Posts: 305

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#8 2009-02-17 15:45:16

lukweb
Member
Registered: 2008-07-24
Posts: 33

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#9 2009-02-17 16:06:27

lukweb
Member
Registered: 2008-07-24
Posts: 33

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#10 2009-02-17 20:11:57

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#11 2009-02-18 11:27:06

lukweb
Member
Registered: 2008-07-24
Posts: 33

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#12 2009-02-18 20:08:29

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

lukweb wrote:

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

#13 2009-02-18 23:37:26

lukweb
Member
Registered: 2008-07-24
Posts: 33

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#14 2009-02-20 16:20:53

lukweb
Member
Registered: 2008-07-24
Posts: 33

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

Up

A l'aide...merci....


GLPI 0.84.5 / RedHat Server 5.8 / MySQL version 5.0.95 / PHP 5.3.3

Offline

#15 2009-02-20 16:23:46

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

> ...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

#16 2009-02-20 16:42:05

petithomme
Member
Registered: 2009-01-05
Posts: 305

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#17 2009-02-24 12:48:11

lukweb
Member
Registered: 2008-07-24
Posts: 33

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#18 2009-02-26 11:48:07

lukweb
Member
Registered: 2008-07-24
Posts: 33

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#19 2009-02-26 11:55:25

Hans KARSH
Member
Registered: 2008-09-18
Posts: 2

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#20 2009-02-26 12:50:44

lukweb
Member
Registered: 2008-07-24
Posts: 33

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#21 2009-02-26 14:14:13

JMD
GLPI - Lead
Registered: 2004-09-13
Posts: 9,180
Website

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#22 2009-02-26 15:25:56

lukweb
Member
Registered: 2008-07-24
Posts: 33

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#23 2009-02-26 15:30:57

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#24 2009-02-26 15:50:20

lukweb
Member
Registered: 2008-07-24
Posts: 33

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

#25 2009-02-26 15:56:38

Hans KARSH
Member
Registered: 2008-09-18
Posts: 2

Re: impossible d'ajouter un lieu : erreur mysql_fetch_array()

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

Board footer

Powered by FluxBB