[php] recup variable utilisable dans mysql
B4lth
-
vindicien Messages postés 136 Statut Membre -
vindicien Messages postés 136 Statut Membre -
Bonjour a tous, mon code est le suivant:
ce qui me retourne l'erreur suivante:
"Catchable fatal error: Object of class mysqli_result could not be converted to string in..."
je pense que l'erreur vient du fait que les variables id_commande,id_textile,quantite_teeshirt ne sont pas converties du fait des simples quotes. D'ou le résultat inutilisable, j'ai donc utilisé mysqli_real_escape_string() d'ou le code suivant:
qui revoit cette erreur:
"Warning: mysqli_real_escape_string() expects parameter 2 to be string, object given in..."
cependant dans le code mysqli_real_escape_string contient bien les 2 arguments...
Je ne voit vraiment pas d'ou vient l'erreur, avez vous une idée svp?
mysqli_query($link, "INSERT INTO choix_textile VALUES ('.$Id_commande.','.$Id_textile.','.$quantite_teeshirt.','N')") or die(mysqli_error($link));
ce qui me retourne l'erreur suivante:
"Catchable fatal error: Object of class mysqli_result could not be converted to string in..."
je pense que l'erreur vient du fait que les variables id_commande,id_textile,quantite_teeshirt ne sont pas converties du fait des simples quotes. D'ou le résultat inutilisable, j'ai donc utilisé mysqli_real_escape_string() d'ou le code suivant:
$req_choix="INSERT INTO choix_textile VALUES ('".mysqli_real_escape_string($link, $Id_commande)."', '".mysqli_real_escape_string($link,$Id_textile)."', '".mysqli_real_escape_string($link,$quantite_teeshirt)."','N')"; mysqli_query($link, $req_choix) or die(mysqli_error($link));
qui revoit cette erreur:
"Warning: mysqli_real_escape_string() expects parameter 2 to be string, object given in..."
cependant dans le code mysqli_real_escape_string contient bien les 2 arguments...
Je ne voit vraiment pas d'ou vient l'erreur, avez vous une idée svp?
A voir également:
- [php] recup variable utilisable dans mysql
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Variable d'environnement temp - Forum Word
- Vba range avec variable ✓ - Forum VB / VBA
3 réponses
Salut,
Si $Id_commande et $Id_textile sont des integers et que les champs de ta base sont également des integers logiquement tu n'as pas besoin de les mettre entre quotes...
$req_choix="INSERT INTO choix_textile VALUES
(".$Id_commande.",".$Id_textile.",".$quantite_teeshirt.",'N')";
Ca devrait fonctionner si les 3 variables sont bien des int (en php et dans ta base)
Vind
Si $Id_commande et $Id_textile sont des integers et que les champs de ta base sont également des integers logiquement tu n'as pas besoin de les mettre entre quotes...
$req_choix="INSERT INTO choix_textile VALUES
(".$Id_commande.",".$Id_textile.",".$quantite_teeshirt.",'N')";
Ca devrait fonctionner si les 3 variables sont bien des int (en php et dans ta base)
Vind
Merci de ta réponse qui résoud en partie le problème, maintenant j'ai l'erreur suivante:
"Unknown column 'tee' in 'where clause'"
Ce qui indique que il ne connait pas la colonne 'tee' dans un WHERE, ok
avec un print j'ai vérifié le contenu de $type_textile=tee-shirt... Ou est le problème?
De plus avec les print je me suis aperçu que les 2 codes suivant ne renvoient aucune valeure==> $Id_commande et $Id_textile sont vides...?????
et
éclairez moi svp!
"Unknown column 'tee' in 'where clause'"
Ce qui indique que il ne connait pas la colonne 'tee' dans un WHERE, ok
avec un print j'ai vérifié le contenu de $type_textile=tee-shirt... Ou est le problème?
De plus avec les print je me suis aperçu que les 2 codes suivant ne renvoient aucune valeure==> $Id_commande et $Id_textile sont vides...?????
$Id_commande = mysqli_query($link, "SELECT MAX(Id_commande) FROM commandes") or die(mysqli_error($link));
et
$Id_textile=mysqli_query($link, "SELECT Id_textile FROM stock_textile WHERE type_textile=".$type_textile." AND Taille=".$taille_textile."") or die(mysqli_error($link));
éclairez moi svp!
Désolé pour le retard...
Dans ton where il ne doit pas y avoir de quote autour du nom de ton champ. Par exemple :
" select * from truc where tee='bleu'"
sinon pour $type_textile il te faut des guillemets car String :
$type_textile= "tee-shirt"
Et
$Id_textile=mysqli_query($link, "SELECT Id_textile FROM stock_textile WHERE type_textile=".$type_textile." AND Taille=".$taille_textile."") or die(mysqli_error($link));
ne fonctionnera que si $type_textile et $taille_textile sont des entiers (en base et dans ton code). C'est le cas ?
Si ce ne sont pas des entiers :
$Id_textile=mysqli_query($link, "SELECT Id_textile FROM stock_textile WHERE type_textile='".$type_textile."' AND Taille='".$taille_textile."'") or die(mysqli_error($link));
Dans ton where il ne doit pas y avoir de quote autour du nom de ton champ. Par exemple :
" select * from truc where tee='bleu'"
sinon pour $type_textile il te faut des guillemets car String :
$type_textile= "tee-shirt"
Et
$Id_textile=mysqli_query($link, "SELECT Id_textile FROM stock_textile WHERE type_textile=".$type_textile." AND Taille=".$taille_textile."") or die(mysqli_error($link));
ne fonctionnera que si $type_textile et $taille_textile sont des entiers (en base et dans ton code). C'est le cas ?
Si ce ne sont pas des entiers :
$Id_textile=mysqli_query($link, "SELECT Id_textile FROM stock_textile WHERE type_textile='".$type_textile."' AND Taille='".$taille_textile."'") or die(mysqli_error($link));