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の結果は良いですが、それは、フォームの私の数人を助けるため
感謝を記録!
最初に、$ sql = 'INSERT INTO ca SET annee = \' 'にコードを修正する必要があります。 $ annee。 '\'、モンタント= \ ''。 $ montant_groupe。 '\'、societe = \ '' groupe \ '' 'を '... \' groupe \ '''に変更します。それはさらに助言する前に 'connexion.php'の内容を表示するのに便利です。 –
あなたは、一重引用符で囲まれたリテラルやエスケープするものすべてで、あなたのようなことを困難にしています。二重引用符で囲まれた文字列で 'variable expansion'を検索する' $ sql = "INSERT INTO ca annee = '$ annee'、montant = '$ montant_groupe'、societe = 'groupe'"; – RiggsFolly
[SQLインジェクション攻撃](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)を避けるために、$ _POST配列の信頼できないデータを使用しています – RiggsFolly