вставить массив, как значения в таблице SQL - PullRequest
0 голосов
/ 11 октября 2019

Я хотел бы знать, почему этот код ничего не вставляет в базу данных, когда я добавляю массив в значениях таблицы "вставить в".

<?php

// connect to database with PDO
// $Q is an array
// in the form of HTML Q1, Q2 is No of yes (N/Y)

//my goal is to insert 30 questions: Q1,....,Q30

$Sexe= $_POST['S']; ;
$Age= $_POST['Age']; ;
$Hregion= $_POST['HRegion']; ;
$Vregion= $_POST['VRegion']; ;
$NE= $_POST['NE'];

for( $k= 1 ; $k <= 2 ; $k++ )
{
  $Q[k] = $_POST["Q$k"];
  echo "<br>Q$k=$Q[k]";
 }

 $CM1 = $_POST['CM'][0];
 $CM2 = $_POST['CM'][1];
 $CM3 = $_POST['CM'][2];
 $CM4 = $_POST['CM'][3];


$QPlode = implode(',',array_values($Q));

$sql = "INSERT INTO qcoloc (Numero,Sexe,Age,Je_vis_en,Aimerais_vivre_en,En_Famille,Monoparentale,Garde_alternee,avec_ascendants,Nombre_d_enfants,Q1,Q2) VALUES ('', '$Sexe', '$Age', '$Hregion', '$Vregion', '$CM1', '$CM2', '$CM3', '$CM4', '$NE', '$QPlode')";
$stmt= $bdd->prepare($sql);
$stmt->execute([$Sexe, $Age, $Hregion, $Vregion, $CM1, $CM2, $CM3, $CM4, $NE, $QPlode]);
?>

// Я пытаюсь использовать другой код

$sql = "INSERT INTO qcoloc (Numero,Sexe,Age,Je_vis_en,Aimerais_vivre_en,En_Famille,Monoparentale,Garde_alternee,avec_ascendants,Nombre_d_enfants,Q1,Q2) VALUES ('', '$Sexe', '$Age', '$Hregion', '$Vregion', '$CM1', '$CM2', '$CM3', '$CM4', '$NE', '$Q[1]', '$Q[2]')";
$stmt= $bdd->prepare($sql);
$stmt->execute([$Sexe, $Age, $Hregion, $Vregion, $CM1, $CM2, $CM3, $CM4, $NE, $Q[]]);
?>

все правильно, я могу "повторить" все переменные, но есть ошибка с массивом Q, в таблице ничего нет sql

...