Inserer variable php dans"champ" requete insert
Résolu
mont_dani
Messages postés
249
Statut
Membre
-
mont_dani Messages postés 249 Statut Membre -
mont_dani Messages postés 249 Statut Membre -
Bonjour
J'ai besoin dune fonction que j'utiliderai dans differernt endroit de ma web pour inserer les donnees dans ma db.
function insererdonnees($sql_texto)
{
//variable pour la table
$tabla = "grupo"; //renvoi la valeur
//variable pour les champs ==> produit un erreur
$campo_1 ="pais";
$campo_2 ="grupo";
$campo_3 ="enlace";
//variable pour les valeurs des champs
$var_1 ="gb";//renvoi la valeur
$var_2 ="new";
$var_3 ="lien vers la page";
//variable pour les valeurs des champs binparam
$value_1 ="pais";//renvoi la valeur
$value_2 ="grupo";
$value_3 = "enlace";
//concatener les variable en texte
$conc ='$value_pais ="pais";
$value_grupo ="grupo";
$value_enlace = "enlace";';
//Calcul nb $
$nb_var = substr_count($conc, "$");
$nb_var_1 = $nb_var-1;
$qu_var = str_repeat("?,", $nb_var_1);
$qu_var_ok = $qu_var."?"; // renvoi le nombre de ? necessaire suivant le nombre de champ
//preparer la variable des champs de la table
$lista_campo = array();
for ($i=1; $i<=$nb_var; $i++) {
$lista_campo[] = "\$campo_".$i.",";
}
$campo_lista = implode("", $lista_campo);
$champ=substr($campo_lista,0,-1);
echo $champ; // donne $campo_1,$campo_2,$campo_3
$insert_nuevo="insert into $tabla($champ) values($qu_var_ok)";
$insert_nuevo = $sql_texto->prepare($insert_nuevo);
$insert_nuevo->bindParam(':$value_1',$var_1,PDO::PARAM_STR, 25);
$insert_nuevo->bindParam(':$value_2',$var_2,PDO::PARAM_STR, 25);
$insert_nuevo->bindParam(':$value_3',$var_3,PDO::PARAM_STR,25);
$insert_nuevo->execute([$var_1,$var_2,$var_3]);
$insert_nuevo->closeCursor();
//header('Location: ad_page_inicio.php');
}
Le probleme est que lorsque je met une variable a la place des noms des champs de la table, j'ai une erreur
SQLSTATE[42S22]: Column not found: 1054
Comment puis-je resoudre mon probleme?
merci pour votre aide
A voir également:
- Inserer variable php dans"champ" requete insert
- Insérer vidéo dans powerpoint - Guide
- Touche insert - Guide
- Insérer signature word - Guide
- Insérer liste déroulante excel - Guide
- Insérer sommaire word - Guide
3 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour,
as-tu envisagé de faire plutôt ainsi?
$campos = array(1 => "pais", 2 => "grupo", 3 => "enlace");