[RESOLU] Développement d'un jeu en ligne

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Développement d'un jeu en ligne

Re: Développement d'un jeu en ligne

par IgorM » 22 févr. 2016, 00:15

Je te remercie grandement, je vais prochainement jetter un coup d'oeil ! :)

Re: Développement d'un jeu en ligne

par @rthur » 21 févr. 2016, 22:34

Bonjour,

Le message d'erreur indique que tu essayes de faire appel à la fonction bind_param() sur un booléen.
Cela veut donc dire que ta variable $stmt1 est un booléen (true ou false).
Or vu qu'elle est initialisé une ligne au dessus, je dirai que c'est ton mysqli_prepare() qui a une erreur et renvoie false.

Regarde du côté de mysqli_error pour en savoir + :
http://php.net/manual/fr/mysqli.error.php

Développement d'un jeu en ligne

par IgorM » 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:

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(); }
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 :wink: !