Update mysql impossible [Résolu]

Signaler
Messages postés
78
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2015
-
Messages postés
78
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2015
-
J'essaie via mysql (j'utilise le mysqli) d'updater ma table mais sans résultat. Je me suis tout de même basé sur une table utilisateur auquel j'update les information de l'utilisateur qui fonctionne #1.

voici mon code pour l'update de jeu (via ma table) que je fais.

*** le $this->connect et $this->disconnect sert à se connecter à la DB et
à se déconnecter par la suite. (PVI)

-------------------------------------
public function saveModifGame($game)
{
include_once('Game.class.php');

$req = "UPDATE gc_games SET title='" . $game->getTitle() . "', platform='" . $game->getPlatform() . "', releasedate='" . $game->getReleaseDate() . "', developer='" . $game->getDeveloper(). "', publisher='" . $game->getPublisher() . "', designer='" . $game->getDesigner() . "', composer='" . $game->getComposer() . "', gamegenre='" . $game->getGenre() . "', mode='" . $game->getMode() . "', upc='" . $game->getUPC() . "', imagelink='" . $game->getImageLink() . "', description='" . $game->getDescription() . "', availability='" . $game->getAvailability() . "' previousgame='" . $game->getPreviousGame() . "', nextgame='" . $game->getNextGame() . "', editable=" . $game->getEditable() . " WHERE id='" . $game->getID() . "'";

$this->connect();
mysqli_query($this->conn, $req);
$this->disconnect();
}
-------------------------------------

voici ma classe Game

-------------------------------------------
<?php
//<!--Edited by : SpaceHam -->
//<!--Created : July 16th 2011 -->
class Game
{
private $id;
private $platform = "";
private $title = "";
private $developer = "";
private $publisher = "";
private $designer = "";
private $composer = "";
private $genre = "";
private $mode = "Single Player";
private $upc = "";
private $rdate = 1985;
private $description = "";
private $availability = "";
private $imagelink = "defaultgame";
private $previous_game = "";
private $next_game = "";
private $editable = 1;

public function getID()
{
return $this->id;
}
public function setID($ident)
{
$this->id = $ident;
}
public function getPlatform()
{
return $this->platform;
}
public function setPlatform($p)
{
$this->platform = $p;
}
public function getTitle()
{
return $this->title;
}
public function setTitle($n)
{
$this->title = $n;
}
public function getDeveloper()
{
return $this->developer;
}
public function setDeveloper($d)
{
$this->developer = $d;
}
public function getPublisher()
{
return $this->publisher;
}
public function setPublisher($p)
{
$this->publisher = $p;
}
public function getDesigner()
{
return $this->designer;
}
public function setDesigner($d)
{
$this->designer = $d;
}
public function getComposer()
{
return $this->composer;
}
public function setComposer($c)
{
$this->composer = $c;
}
public function getGenre()
{
return $this->genre;
}
public function setGenre($g)
{
$this->genre = $g;
}
public function getMode()
{
return $this->mode;
}
public function setMode($m)
{
$this->mode = $m;
}
public function getUPC()
{
return $this->upc;
}
public function setUPC($u)
{
$this->upc = $u;
}
public function getReleaseDate()
{
return $this->rdate;
}
public function setReleaseDate($d)
{
$this->rdate = $d;
}
public function getDescription()
{
return $this->description;
}
public function setDescription($d)
{
$this->description = $d;
}
public function getAvailability()
{
return $this->availability;
}
public function setAvailability($a)
{
$this->availability = $a;
}
public function getImageLink()
{
return $this->imagelink;
}
public function setImageLink($il)
{
$this->imagelink = $il;
}
public function getPreviousGame()
{
return $this->previous_game;
}
public function setPreviousGame($pg)
{
$this->previous_game = $pg;
}
public function getNextGame()
{
return $this->next_game;
}
public function setNextGame($ng)
{
$this->next_game = $ng;
}
public function getEditable()
{
return $this->editable;
}
public function setEditable($edit)
{
$this->editable = $edit;
}
}
?>
-------------------------------------------

Quelqu'un aurais une idée pourquoi ça ne veux pas sauvegarder, je n'ai même pas de message d'erreur.

A la limite je vous transférerais les informations de la table.

SpaceHamAgent

6 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
bonjour


sans regarder la logique
availability='" . $game->getAvailability() . "' ,
il manque la virgule
editable='" . $game->getEditable() . "' les '


Bonne programmation !
Messages postés
78
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2015

Information de ma table gc_games

id varchar(24) utf8_unicode_ci
title varchar(75) utf8_unicode_ci
platform varchar(24) utf8_unicode_ci
releasedate int(11)
developer varchar(40) utf8_unicode_ci
publisher varchar(40) utf8_unicode_ci
designer varchar(75) utf8_unicode_ci
composer varchar(75) utf8_unicode_ci
gamegenre varchar(50) utf8_unicode_ci
mode varchar(50) utf8_unicode_ci
upc varchar(30) utf8_unicode_ci
imagelink varchar(35) utf8_unicode_ci
description text utf8_unicode_ci
availability varchar(30) utf8_unicode_ci
previousgame varchar(24) utf8_unicode_ci
nextgame varchar(24) utf8_unicode_ci
editable tinyint(1)


SpaceHamAgent
Messages postés
2381
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
16
Est-ce que :
1. tu peux ajouter une gestion des erreurs autour de tes trois lignes de code ?
2. tu peux éditer ton $req, et le tester manuellement sur ta base via PHPMyAdmin par exemple..
3. tu peux faire des escape_string sur les chaines de caractères..
4. tu peux faire un affected_rows après ta requete pour avoir au moins une retour du nombre de lignes touchés
Quand tu auras fait cela tu auras déja plus de visibilité sur ton problème.
S.
Messages postés
78
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2015

Effectivement cod57.... la virgule n'y était pas. Lorsque tu programmes trop longtemps il y a bien des choses qui ne paraisse plus.

Merci encore d'avoir mis les yeux sur le code au lieu des miens. :)


SpaceHamAgent
Messages postés
2381
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
16
Il n'empeche que mes qqs conseils pourraient t'être utiles.. LOL..
S.
Messages postés
78
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2015

Je sais bien syndrael :) Merci aussi! ;) LOL

SpaceHamAgent