2016-05-17 14 views
1

私のデータベースに複数の行を1つのフォームで同時に追加したいのですが、各SQLリクエストの成功は偽です。何をすべきかわかりません:(複数の複数のSQLリクエストを追加できますか?

Charts.js用です毎回年(ANNEE)、AMOUT(montant)とCOMPAGNY(ソシエテ)の名前を入れて

私のデータベースのように見えるの各ライン:ID |ソシエテ| ANNEEを| montant

マイ形式:

<form action="ca/ajout-ca.php" method="post" enctype="multipart/form-data"> 
    <h3>ANNÉE</h3> 
    <div class="form-group"> 
      <label for="annee"></label> 
      <input type="text" name="annee" id="annee" class="form-control" /> 
     </div> 
     <h4>GROUPE</h4> 
     <div class="form-group"> 
      <label for="montant_groupe"></label> 
      <input type="text" name="montant_groupe" id="montant_groupe" class="form-control" /> 
     </div>       
     <br> 
     <h4>APRIME</h4> 
     <div class="form-group"> 
      <label for="montant_aprime"></label> 
      <input type="text" name="montant_aprime" id="montant_aprime" class="form-control" /> 
     </div>       
     <br> 
     <h4>ENTI</h4> 
     <div class="form-group"> 
      <label for="montant_enti"></label> 
      <input type="text" name="montant_enti" id="montant_enti" class="form-control" /> 
     </div>       
     <br> 
     <h4>S2MI</h4> 
     <div class="form-group"> 
      <label for="s2mi"></label> 
      <input type="text" name="montant_s2mi" id="montant_s2mi" class="form-control" /> 
     </div>       
     <br> 
     <h4>JBM41</h4> 
     <div class="form-group"> 
      <label for="montant_s2mi"></label> 
      <input type="text" name="montant_s2mi" id="montant_s2mi" class="form-control" /> 
     </div>       
     <br> 
     <button type="submit" class="btn btn-primary">Valider</button> 
    </form> 

マイ・sqlファイルを追加

<?php 
require_once('../connexion.php'); 

$return = array('success' => false); 
$return1 = array('success' => false); 
$return2 = array('success' => false); 
$return3 = array('success' => false); 
$return4 = array('success' => false); 


$annee   = isset($_POST['annee']) ? $_POST['annee'] : null; 
$montant_groupe = isset($_POST['montant_groupe']) ? $_POST['montant_groupe'] : null; 
$montant_aprime = isset($_POST['montant_aprime']) ? $_POST['montant_aprime'] : null; 
$montant_enti = isset($_POST['montant_enti']) ? $_POST['montant_enti'] : null; 
$montant_s2mi = isset($_POST['montant_s2mi']) ? $_POST['montant_s2mi'] : null; 
$montant_jbm41 = isset($_POST['montant_jbm41']) ? $_POST['montant_jbm41'] : null; 

var_dump($_POST); 

if(!is_null($annee) && !is_null($montant_groupe) &&  !is_null($montant_aprime) && !is_null($montant_enti) && !is_null($montant_s2mi)  && !is_null($montant_jbm41)){ 

$sql = "INSERT INTO ca SET annee = '$annee', montant = '$montant_groupe', societe = 'groupe'"; 
       $return['success'] = $connexion->exec($sql); 

$sql1 = "INSERT INTO ca SET annee = '$annee', montant = '$montant_aprime', societe = 'aprime'"; 
       $return1['success'] = $connexion->exec($sql1); 

$sql2 = "INSERT INTO ca SET annee = '$annee', montant = '$montant_enti', societe = 'enti'"; 
       $return2['success'] = $connexion->exec($sql2); 

$sql3 = "INSERT INTO ca SET annee = '$annee', montant = '$montant_s2mi', societe = 's2mi'"; 
       $return3['success'] = $connexion->exec($sql3); 

$sql4 = "INSERT INTO ca SET annee = '$annee', montant = '$montant_jbm41', societe = 'jbm41'"; 
       $return4['success'] = $connexion->exec($sql4); 
} 

echo json_encode($return); 
echo json_encode($return1); 
echo json_encode($return2); 
echo json_encode($return3); 
echo json_encode($return4); 
/* 
header('Location: ../admin_ca.php');*/ 

$return(number)各ラインで私はfalseを返し、私のvardumpの結果は良いですが、それは、フォームの私の数人を助けるため

感謝を記録!

+1

最初に、$ sql = 'INSERT INTO ca SET annee = \' 'にコードを修正する必要があります。 $ annee。 '\'、モンタント= \ ''。 $ montant_groupe。 '\'、societe = \ '' groupe \ '' 'を '... \' groupe \ '''に変更します。それはさらに助言する前に 'connexion.php'の内容を表示するのに便利です。 –

+0

あなたは、一重引用符で囲まれたリテラルやエスケープするものすべてで、あなたのようなことを困難にしています。二重引用符で囲まれた文字列で 'variable expansion'を検索する' $ sql = "INSERT INTO ca annee = '$ annee'、montant = '$ montant_groupe'、societe = 'groupe'"; – RiggsFolly

+0

[SQLインジェクション攻撃](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)を避けるために、$ _POST配列の信頼できないデータを使用しています – RiggsFolly

答えて

0

私は私が2タイプを入れて、私は自分のフォームで間違いを行いましたが、問題を発見し、同じ名前「montant_s2mi」ではなく「montant_s2mi」と「montant_jbm41」だから

私の場合(!IS_NULL)スタートの私の "montant_jbm41"はnullで、私のcantはSQLリクエストに入ります。

関連する問題