par
IgorM » 01 mars 2016, 15:11
Bonjour,
Comme le titre du sujet l'indique, je rencontre une erreur dans le développement d'un script, ce script consiste à afficher une suite de nombres: 1 2 3 1 2 3 1 2 3, et de leur attribuer un username, une fois cette première étape passée, j'aimerais faire une update de la valeur "clan" de chaque membre en fonction de la valeur de $i donnée, j'ai donc développé le script suivant:
Code : Tout sélectionner
require("database.php");
$query = "SELECT username FROM matable WHERE server=1";
$stmt = mysqli_prepare($sql, $query);
$stmt->bind_result($username);
$stmt->execute();
for($i=1;$i<=3;$i++){
while($stmt->fetch()){
if($i > 3){
$i = 1;
}
echo $username;
require("database.php");
$query1 = "UPDATE matable SET clan=? WHERE username=? AND server=1";
$stmt1 = mysqli_prepare($sql, $query1);
$stmt1->bind_param('is', $i++, $username);
$stmt1->execute();
$stmt1->close();
require("database.php");
$query1 = "UPDATE matable SET divider=1 WHERE id=1";
$stmt1 = mysqli_prepare($sql, $query1);
$stmt1->execute();
$stmt1->close();
insert_info_chat("Tous les membres sont prêts, ils ont tous été répartis dans leur clan respectif");
}
}
$stmt->close();
Cependant, php m'indique l'erreur suivante: "Cannot pass parameter 2 by reference", sur la ligne suivante: $stmt1->bind_param('is', $clan, $username); En base, j'obtient donc l'update de valeur 1 pour le premier utilisateur, en revanche, pour les autres, cette valeur reste sur 0. Je vous remercie par avance, et j'espère que quelqu'un pourra m'aider !
Bonjour,
Comme le titre du sujet l'indique, je rencontre une erreur dans le développement d'un script, ce script consiste à afficher une suite de nombres: 1 2 3 1 2 3 1 2 3, et de leur attribuer un username, une fois cette première étape passée, j'aimerais faire une update de la valeur "clan" de chaque membre en fonction de la valeur de $i donnée, j'ai donc développé le script suivant:
[code]require("database.php");
$query = "SELECT username FROM matable WHERE server=1";
$stmt = mysqli_prepare($sql, $query);
$stmt->bind_result($username);
$stmt->execute();
for($i=1;$i<=3;$i++){
while($stmt->fetch()){
if($i > 3){
$i = 1;
}
echo $username;
require("database.php");
$query1 = "UPDATE matable SET clan=? WHERE username=? AND server=1";
$stmt1 = mysqli_prepare($sql, $query1);
$stmt1->bind_param('is', $i++, $username);
$stmt1->execute();
$stmt1->close();
require("database.php");
$query1 = "UPDATE matable SET divider=1 WHERE id=1";
$stmt1 = mysqli_prepare($sql, $query1);
$stmt1->execute();
$stmt1->close();
insert_info_chat("Tous les membres sont prêts, ils ont tous été répartis dans leur clan respectif");
}
}
$stmt->close();[/code]
Cependant, php m'indique l'erreur suivante: "Cannot pass parameter 2 by reference", sur la ligne suivante: $stmt1->bind_param('is', $clan, $username); En base, j'obtient donc l'update de valeur 1 pour le premier utilisateur, en revanche, pour les autres, cette valeur reste sur 0. Je vous remercie par avance, et j'espère que quelqu'un pourra m'aider !