par
LucasStagnette » 04 janv. 2023, 23:03
Bonjour,
je dois faire un site de vente de vetement pour l'école, donc je ne connais pas encore bien le php et j'ai presque juste suivi le tuto de mon prof
le problème est que lorsque je soumet le formulaire pour ajouter le produit en ligne, les données ne s'ajoute pas a la base
le 1er code est la bas de ma page index qui récupère les données du formulaire et appelle la fonction ajouter()
le 2ème est la fonction ajouter (si vous avez des doutes sur le require('connexion.php') ce n'est pas ça j'ai déjà testé avant)
j'ai refais un autre test directement la où il y a la fonction pour l'appeller manuellement et j'ai obtenu cette erreur :
PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in C:\xampp\htdocs\shop_lucas\config\commandes.php on line 10
Merci d'avance pour l'aide !
<?php
if(isset($_POST['valider']))
{
if(isset($_POST['image']) AND isset($_POST['type']) AND isset($_POST['modele']) AND isset($_POST['desc']) AND isset($_POST['taille']) AND isset($_POST['prix']))
{
if(!empty($_POST['image']) AND !empty($_POST['type']) AND !empty($_POST['modele']) AND !empty($_POST['desc']) AND !empty($_POST['taille']) AND !empty($_POST['prix']))
{
$image = htmlspecialchars(strip_tags($_POST['image']));
$type = htmlspecialchars(strip_tags($_POST['type']));
$modele = htmlspecialchars(strip_tags($_POST['modele']));
$desc = htmlspecialchars(strip_tags($_POST['desc']));
$taille = htmlspecialchars(strip_tags($_POST['taille']));
$prix = htmlspecialchars(strip_tags($_POST['prix']));
try
{
ajouter($type, $modele, $desc, $taille, $prix, $image);
}
catch(Exception $e)
{
$e->getMessage();
}
}
}
}
?
La fonction ajouter :
function ajouter($type_id,$modele, $desc, $taille, $prix, $image)
{
if(require("connexion.php"))
{
$req = $access->prepare("INSERT INTO produits (type_id, modele, description, taille, prix, image) VALUES ($type_id,'$modele', '$desc', '$taille', $prix, '$image')");
$req -> execute(array($type_id,$modele, $desc, $taille, $prix, $image));
$req -> closeCursor();
}
else
{
echo 'la connexion n\'est pas possible';
}
}
Bonjour,
je dois faire un site de vente de vetement pour l'école, donc je ne connais pas encore bien le php et j'ai presque juste suivi le tuto de mon prof
le problème est que lorsque je soumet le formulaire pour ajouter le produit en ligne, les données ne s'ajoute pas a la base
le 1er code est la bas de ma page index qui récupère les données du formulaire et appelle la fonction ajouter()
le 2ème est la fonction ajouter (si vous avez des doutes sur le require('connexion.php') ce n'est pas ça j'ai déjà testé avant)
j'ai refais un autre test directement la où il y a la fonction pour l'appeller manuellement et j'ai obtenu cette erreur :
PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in C:\xampp\htdocs\shop_lucas\config\commandes.php on line 10
Merci d'avance pour l'aide !
[PHP]<?php
if(isset($_POST['valider']))
{
if(isset($_POST['image']) AND isset($_POST['type']) AND isset($_POST['modele']) AND isset($_POST['desc']) AND isset($_POST['taille']) AND isset($_POST['prix']))
{
if(!empty($_POST['image']) AND !empty($_POST['type']) AND !empty($_POST['modele']) AND !empty($_POST['desc']) AND !empty($_POST['taille']) AND !empty($_POST['prix']))
{
$image = htmlspecialchars(strip_tags($_POST['image']));
$type = htmlspecialchars(strip_tags($_POST['type']));
$modele = htmlspecialchars(strip_tags($_POST['modele']));
$desc = htmlspecialchars(strip_tags($_POST['desc']));
$taille = htmlspecialchars(strip_tags($_POST['taille']));
$prix = htmlspecialchars(strip_tags($_POST['prix']));
try
{
ajouter($type, $modele, $desc, $taille, $prix, $image);
}
catch(Exception $e)
{
$e->getMessage();
}
}
}
}
?[/PHP]
La fonction ajouter :
[PHP]function ajouter($type_id,$modele, $desc, $taille, $prix, $image)
{
if(require("connexion.php"))
{
$req = $access->prepare("INSERT INTO produits (type_id, modele, description, taille, prix, image) VALUES ($type_id,'$modele', '$desc', '$taille', $prix, '$image')");
$req -> execute(array($type_id,$modele, $desc, $taille, $prix, $image));
$req -> closeCursor();
}
else
{
echo 'la connexion n\'est pas possible';
}
}[/PHP]