私のPHPに問題があります。以下のような for ループがあります。
$todays_date = date("Y-m-d H:i:s");
for ($k=0; $k < $_SESSION[CampaignTrax]; $k++) {
$numIncrement = $k +1;
$artistConcentrate = '$_POST[ArtistField_'.$numIncrement.']';
$titleConcentrate = '$_POST[TitleField_'.$numIncrement.']';
$mixConcentrate = '$_POST[MixField_'.$numIncrement.']';
$query2 = "INSERT INTO trackdata (promo_ID, track_orderno, track_dateofcreation, track_artist, track_title, track_mix, track_promo_title) VALUES('$_SESSION[promo_ID]', '$numIncrement', '$todays_date', '{$artistConcentrate}', '$titleConcentrate', '$mixConcentrate', '$_SESSION[CampaignTitle]')";
mysql_query($query2) or die('Error in MySQL query. Here is the error message: '.mysql_error());
}
私の問題は、 $artistConcetrate 変数が文字通り返され、その値が PHPMyAdmin の SQL テーブルに表示されることです。これは、ループを通じて自動インクリメントされる$_POST[ArtistField_1]
ため、実際に として送信されたものの値を返す可能性があります。などがテーブルに挿入されます。POST[ArtistField_1]
artistfield_2
上記から発生する可能性のある SQL インジェクションの問題を認識していますが、解決策が見つかったらコードを更新します。
これに関するアドバイスに感謝します。
CP