Développement d'un jeu en ligne
Posté : 21 févr. 2016, 21:13
Bonjour,
Je me tourne ce soir vers vous puisqu'à court d'idées et de recherches, je n'ai malheureusement pas réussi à règler un problème en développant un jeu en ligne. Le problème réside dans l'attribution de la récompense aux gagnants en fin de partie, je fais appel à la fonction suivante:
Et l'erreur suivante s'affiche: Fatal error: Call to a member function bind_param() on boolean in C:\xampp\htdocs\projet\functions.php on line 37
Cette ligne correspond à la ligne suivante du code ci-dessus: $stmt1->bind_param('s', $leader);, et ayant déja essayé de faire un var_dump($leader); après le fetch, j'ai obtenu un retour favorable à ce qui était attendu, la première boucle trouve donc la donnée recherchée: le pseudonyme du leader de la partie, en revanche les choses ont l'air de se compliquer pour l'écxécution des UPDATES plus bas.
Je ne sais plus où donner de la tête pour venir à bout de ce problème, et je vous serait éternellement reconnaissant si vous aviez la patience et le courage de m'aider à règler ce problème ! Merci d'avance
!
Je me tourne ce soir vers vous puisqu'à court d'idées et de recherches, je n'ai malheureusement pas réussi à règler un problème en développant un jeu en ligne. Le problème réside dans l'attribution de la récompense aux gagnants en fin de partie, je fais appel à la fonction suivante:
Code : Tout sélectionner
function win_leader(){
require("database.php");
$query = "SELECT leader FROM sql_gen_servers WHERE id=1";
$stmt = mysqli_prepare($sql, $query);
$stmt->bind_result($leader);
$stmt->execute();
while($stmt->fetch()){
var_dump($leader);
$query1 = "UPDATE sql_gen_members SET ranking=ranking+11, actions=actions+80 WHERE username=? AND server=1";
$stmt1 = mysqli_prepare($sql, $query1);
$stmt1->bind_param('s', $leader);
$stmt1->execute();
$stmt1->close();
$query1 = "UPDATE sql_gen_members SET ranking=ranking-6, actions=actions+40 WHERE username!=? AND server=1";
$stmt1 = mysqli_prepare($sql, $query1);
$stmt1->bind_param('s', $leader);
$stmt1->execute();
$stmt1->close();
}
$stmt->close();
}Cette ligne correspond à la ligne suivante du code ci-dessus: $stmt1->bind_param('s', $leader);, et ayant déja essayé de faire un var_dump($leader); après le fetch, j'ai obtenu un retour favorable à ce qui était attendu, la première boucle trouve donc la donnée recherchée: le pseudonyme du leader de la partie, en revanche les choses ont l'air de se compliquer pour l'écxécution des UPDATES plus bas.
Je ne sais plus où donner de la tête pour venir à bout de ce problème, et je vous serait éternellement reconnaissant si vous aviez la patience et le courage de m'aider à règler ce problème ! Merci d'avance