JeuWeb - Crée ton jeu par navigateur
Communication PHP/MySQL - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Communication PHP/MySQL (/showthread.php?tid=156)



Communication PHP/MySQL - pilo_briko - 02-09-2006

Bonjour. Voici mon script qui permet de fabriqué des soldats:

Code PHP :
<?php

//Identifiants de connexion &agrave; la base de donn&eacute;es.
require("config.inc.php");

//Connexion &agrave; mysql.
mysql_connect($host,$username,$password);
mysql_select_db($bdd_name);

//on va chercher les ressources
$retour = mysql_query("SELECT * FROM membre_ressources WHERE pseudo='".$_SESSION[pseudo]."'")or die (mysql_error());
$donnees = mysql_fetch_array($retour);

//mesure de sécurité
$nb = htmlentities(addslashes($_POST['soldat']));

//on calcule les coûts
$cout_dataries = $nb * 50;
$cout_
gaz
= $nb * 30;
$cout_acier = $nb * 35;

// si le joueurs a assez de ressources
if ($donnees['dataries'] >= $cout_dataries AND $donnees['gaz_bespin'] >= $cout_gaz AND $donnees['acier'] >= $cout_acier )
{
//on calcules les nouvelles ressources
$newdataries = $donnees['dataries'] - $cout_dataries;
$newacier = $donnes['acier'] - $cout_acier;
$newgaz = $donnees['gaz_bespin'] - $cout_gaz;
$action = 1;
$temps = 150;

// on modifie la BDD pour dire que le joueurs construit des soldat, combien, et le temps que ça met pour un soldat.
mysql_query("UPDATE membre_constructionattaque SET constructionsoldat=".$action." WHERE pseudo=".$_SESSION['pseudo']." ") or die (mysql_error());
mysql_query("UPDATE membre_constructionattaque SET nbsoldat=".$nb." WHERE pseudo=".$_SESSION['pseudo']." ") or die (mysql_error());
mysql_query("UPDATE membre_constructionattaque SET tpssodats=".$temps." WHERE pseudo=".$_SESSION['pseudo']." ") or die (mysql_error());


}
else
//si le joueurs n'a pa assez de ressources
{
echo
'Vous n\'avez pas assez de ressources.';
}
?>


Et voici la forme de ma BDD:

[Image: sanstitre2qh7.gif]

Pourtant, quand je rentre un nombre de soldat dans le POST, le nombre de soldat ne se met pas dans ma BDD. Pourquoi? Merci.


RE: Pourquoi ça ne marche pas??? - Ssin - 02-09-2006

Tu fait une erreur de concaténation :

Code PHP :
<?php 
SET constructionsoldat
=".$action." WHERE pseudo=".$_SESSION['pseudo']."

Deja, tu utilise des doubles quotes pour ouvrir et fermer ta requète donc pas besoin de concaténer, alors pour les variables, fait plutot comme cela :

Code PHP :
<?php 
SET constructionsoldat
='$action' WHERE pseudo='$_SESSION['pseudo']'

Vila, tu change ca sur tes 3 requètes et ca devrai marcher

EDIT : Hmm, met plutot le $_SESSION['pseudo'] dans une variable, tu es sur qu'il n'y aura pas de confusion avec les simples et doubles quotes Wink