2
私はプリペアドステートメントを使用して、私のテーブルに複数の行を挿入したい、と私は配列からデータを抽出し、yの文のパラメータのためにそれを使用するために、ループを使用してそのことについては、ここに私のコードサンプルです:私は「FORループ内で準備されたSQL文を複数回実行するにはどうすればよいですか?
require_once("connect.php");
$data_array = Array();
$string = 'faycal,18,12,2016,podes|Arab,19,12,2016,kashi|faycal,20,12,2016,exec';
function create_array($input){
$formated_array = explode('|', $input);
$query = $con->prepare("INSERT INTO my_table (bill_name,bill_num,month,year,type) VALUES(?, ?, ?, ?, ?)");
for ($i = 0;$i < count($formated_array);$i++){
for($j = 0;$j < 5;$j++){
$data_array[$i][$j] = explode(',', $formated_array[$i])[$j];
}
$query->bind_param($name, $num, $month, $year, $type);
$name = $data_array[$i][0];
$num = (int)$data_array[$i][1];
$month = (int)$data_array[$i][2];
$year = (int)$data_array[$i][3];
$type = $data_array[$i][4];
$query->execute();
}
echo "Records have been saved successfully";
}
create_array($string);
文を実行せずにこの関数をテストし、data_arrayをechoしようとしました。すべてがうまくいきました。私が理解できないSQL文には何か問題があると仮定しています。