JeuWeb - Crée ton jeu par navigateur
Problème d'enregistrement de concaténation - 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 : Problème d'enregistrement de concaténation (/showthread.php?tid=7375)

Pages : 1 2


RE: Problème d'enregistrement de concaténation - Harald - 23-05-2015

Voici mon code qui au passage est en place depuis le premier message que tu m'as envoyer Xenos mais j'avais oublier de le préciser excuse moi.
Code PHP :
<?php 
if($voler != 1){


   $message_ajouter = jetdes($voler,$_SESSION['Username'],3);
   $message .= " - ";
   $message .= $message_ajouter;
}

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
 
/* Préparation de la commande d'insertion */
$query = "INSERT INTO minichat(pseudo,message,id_tchat,type,joueurchuchoter) VALUES('$pseudo', '$message', '$id_chat', '$type','$joueurchuchoter')";
$stmt = mysqli_prepare($link, $query);

mysqli_stmt_bind_param($stmt, "ssiss", $pseudo, $message, $id_chat, $type, $joueurchuchoter);


/* Exécute la requête */
mysqli_stmt_execute($stmt) or die (mysqli_error());



Je crois que j'ai louper un truc mais je ne l'ai pas vu...
[Image: Sans%20titre9.png]

Merci de votre aide jusque maintenant elle m'a été précieuse!


RE: Problème d'enregistrement de concaténation - Simaya_Jeux - 23-05-2015

Tu as mis :
Code PHP :
<?php 
/* Préparation de la commande d'insertion */
$query = "INSERT INTO minichat(pseudo,message,id_tchat,type,joueurchuchoter) VALUES('$pseudo', '$message', '$id_chat', '$type','$joueurchuchoter')";
$stmt = mysqli_prepare($link, $query);

mysqli_stmt_bind_param($stmt, "ssiss", $pseudo, $message, $id_chat, $type, $joueurchuchoter);

Je confirme ce que Xenos a dit, il faudrait plutôt mettre :
Code PHP :
<?php 
/* Préparation de la commande d'insertion */
$query = "INSERT INTO minichat(pseudo, message, id_tchat, type, joueurchuchoter) VALUES(?, ?, ?, ?, ?)";
$stmt = mysqli_prepare($link, $query);

mysqli_stmt_bind_param($stmt, "ssiss", $pseudo, $message, $id_chat, $type, $joueurchuchoter);



RE: Problème d'enregistrement de concaténation - Harald - 23-05-2015

[Image: Sans%20titre10.png]
Oui merci juste.

Bon du coup maintenant on sait que il ne peut convertir en string. J'ai donc remis un var_dump pour voir ou on en est avant... Ca n'aide pas ^^.

Ici a par une public fonction __toString() je ne vois pas quoi faire... Mais je ne m'en suis jamais servis.


RE: Problème d'enregistrement de concaténation - Xenos - 23-05-2015

Quel intérêt d'afficher, à l'écran, le mysqli_stmt ?

Tu ne pourras pas ajouter ta public fonction __toString() à mysqli. Si tu tiens vraiment à pouvoir afficher la requête préparée, il va te falloir un encapsuleur.
Grossièrement:


class MyPreparedStatement {
private $stmt, $query;
public function __construct($link, $query) {
$this->query = (string)$query;
$this->stmt = mysqli_prepare($link, $this->query);
}
public function getStmt() {
return $this->stmt;
}
public function __toString() {
return $this->query;
}
}



RE: Problème d'enregistrement de concaténation - Harald - 25-05-2015

Oups oui merci, j'ai su résoudre mon problème grace a vous et j'ai apprit pas mal de choses merci !! Smile