Update mysql impossible

Résolu
SpaceHam Messages postés 78 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 22 octobre 2015 - 18 août 2011 à 21:33
SpaceHam Messages postés 78 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 22 octobre 2015 - 19 août 2011 à 15:58
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

cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
19 août 2011 à 10:33
bonjour


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


Bonne programmation !
3
SpaceHam Messages postés 78 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 22 octobre 2015
18 août 2011 à 21:43
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
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
19 août 2011 à 10:20
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.
0
SpaceHam Messages postés 78 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 22 octobre 2015
19 août 2011 à 14:52
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
19 août 2011 à 15:24
Il n'empeche que mes qqs conseils pourraient t'être utiles.. LOL..
S.
0
SpaceHam Messages postés 78 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 22 octobre 2015
19 août 2011 à 15:58
Je sais bien syndrael :) Merci aussi! ;) LOL

SpaceHamAgent
0
Rejoignez-nous