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 2005-03-31 13:32:11

Pr_bond
Member
From: Caen (Calvados 14)
Registered: 2004-11-16
Posts: 30

bug dans la version CVS - Update 0.42 vers 0.5

Bonjour a tous

Config :
Windows 2000
EasyPhp 1.6 (Apache/1.3.24(Win32), PHP/4.2.0, MySql 3.23.49, phpMyAdmin 2.5.6)


J'ai une erreur lors de la mise a jour de la version 0.42 à la version 0.5 :

GLPI SETUP

Update
Connexion à la base de données réussie

Version 0.5
unable to transfer sndcard to sndcard Erreur durant la mise à jour de la base de donnéesYou have an error in your SQL syntax near '97)')' at line 1

A priori ca viens de la fonction :


Fichier update.php

function optimize_tables ()
{
    
    $db = new DB;
    $result=$db->list_tables();
    while ($line = $db->fetch_array($result))
  {
           if (ereg("glpi_",$line[0]))
            {
            $table = $line[0];
// Original
//               $query = "OPTIMIZE TABLE ".$table.";";

// Version Corriger
               $query = "OPTIMIZE TABLE ".$table." ;";

//               echo $query;
               $db->query($query);
            }
  }
}

Je pense qu'il faut un espace avant le point virgule

Voila


GLPI: 0.90.3 -> update planned

Offline

#2 2005-03-31 14:46:31

Pr_bond
Member
From: Caen (Calvados 14)
Registered: 2004-11-16
Posts: 30

Re: bug dans la version CVS - Update 0.42 vers 0.5

Suite un autre bug

Toujour dans update.php

if(!TableExists("glpi_cartridges")) {
$query= "CREATE TABLE `glpi_cartridges` (
  `ID` int(11) NOT NULL auto_increment,
  `FK_glpi_cartridges_type` int(11) NOT NULL default '0',
  `FK_glpi_printers` int(11) NOT NULL default '0',
  `date_in` date default NULL,
  `date_use` date default NULL,
  `date_out` date default NULL,
  `pages` int(11)  NOT NULL default '0',
  PRIMARY KEY  (`ID`),
  KEY(`FK_glpi_cartridges_type`),
  KEY(`FK_glpi_printers`),
);";
    $db->query($query) or die("0.5 CREATE TABLE glpi_cartridges ".$lang["update"][90].$db->error());

Il y a une virgule de trop

  KEY(`FK_glpi_printers`),
);";

Faut la viré tada

voili


GLPI: 0.90.3 -> update planned

Offline

#3 2005-03-31 15:06:05

Pr_bond
Member
From: Caen (Calvados 14)
Registered: 2004-11-16
Posts: 30

Re: bug dans la version CVS - Update 0.42 vers 0.5

Re encore

Toujours dans update.php

function compDpd2Device($devtype,$devname,$dpdname,$compDpdName,$specif='') {
    global $lang;
    $query = "select * from glpi_dropdown_".$dpdname."";
    $db = new DB;
    $result = $db->query($query);
    while($lndropd = $db->fetch_array($result)) {
        $query2 = "insert into glpi_device_".$devname." (designation) values ('".unhtmlentities($lndropd["name"])."')";
        echo "-DEBUG- \$query2=$query2<BR>\n";
        $db->query($query2) or die("unable to transfer ".$dpdname." to ".$devname."  ".$lang["update"][90].$db->error());
        $devid = mysql_insert_id();

Dans requete :
$query2 = "insert into glpi_device_".$devname." (designation) values ('".unhtmlentities($lndropd["name"])."')";

unhtmlentities($lndropd["name"]) est entouré de simple quote ' il faut les remplacer par des doubles slacher

$query2 = "insert into glpi_device_".$devname." (designation) values (\"".unhtmlentities($lndropd["name"])."\")";


Comme ca pour ceux qui ont mis des quotes ' dans leur nom de périphérique, n'auront plus cette erreur

Re voila

Last edited by Pr_bond (2005-03-31 15:23:39)


GLPI: 0.90.3 -> update planned

Offline

#4 2005-03-31 17:38:57

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

Re: bug dans la version CVS - Update 0.42 vers 0.5

Merci pour les retours de bugs et les correctifs.

C'est dans le cvs.

En revanche pour le premier, je suis pas convaincu de la solution. A moins que ça ne soit la version 3 de mysql qui soit trés exigeante...


JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au  projet GLPI   : Soutenir

Offline

#5 2005-03-31 23:31:02

baaz
Member
Registered: 2004-09-13
Posts: 513

Re: bug dans la version CVS - Update 0.42 vers 0.5

$query2 = "insert into glpi_device_".$devname." (designation) values (\"".unhtmlentities($lndropd["name"])."\")";

Pour cette solution a mon avis cela risque de seulement reporter le probleme sur les gens qui utilisent le caractère ".
Je dis ça sans vraiment avoir étudié le problème plus en détails donc je me trompe peut etre.

Dans l'absolu je pense que :

$query2 = "insert into glpi_device_".$devname." (designation) values (\"".addslashes(unhtmlentities($lndropd["name"]))."\")";

Serait une solution plus sure.


Bazile Lebeau

Offline

#6 2005-03-31 23:47:16

MoYo
GLPI - Lead
From: Poitiers
Registered: 2004-09-13
Posts: 14,513
Website

Re: bug dans la version CVS - Update 0.42 vers 0.5

la solution retenue et présente dans le CVS :

$query2 = "insert into glpi_device_".$devname." (designation) values ('".addslashes(unhtmlentities($lndropd["name"]))."')";


MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI :    Support     Contribute     References     Freshmeat

Offline

#7 2005-04-01 11:22:44

Pr_bond
Member
From: Caen (Calvados 14)
Registered: 2004-11-16
Posts: 30

Re: bug dans la version CVS - Update 0.42 vers 0.5

Oui tous a fait, ca me convient cool

Moi j'ai une carte son qui s'appele AC'97, c pour ca que ca bugger.  sad

Faut que je test le CVS et puis je vous redis quoi

A + roll


GLPI: 0.90.3 -> update planned

Offline

#8 2005-04-05 11:21:48

Pr_bond
Member
From: Caen (Calvados 14)
Registered: 2004-11-16
Posts: 30

Re: bug dans la version CVS - Update 0.42 vers 0.5

Bon c ok ca marche bien cool

Vous pouvez fermer le thread ...


GLPI: 0.90.3 -> update planned

Offline

Board footer

Powered by FluxBB