-3
こんにちは私は挿入に問題がありますdata
私のpdo
query
row
を挿入してください。なぜ私のpdoクエリは最後の行だけを挿入しています
、私は、電子friday pm
ここでは、私が
ここに私の構築query
http://phpio.net/s/54jc
<?php
function returnValuesNoOfTimes($count,$fields = array()){
$str = str_repeat("(:{$fields['user_id']},:{$fields['day']},:{$fields['am_pm']}),",$count);
return rtrim($str,", ");
}
function queryBuilderLocallyDone($data = array(),$fields = array(),$user_id,$object_count){
/*Inserting user values*/
$valuesTimes = returnValuesNoOfTimes($object_count,$fields);
$db = getDB();
$sql1="INSERT INTO availability({$fields['user_id']},{$fields['day']},{$fields['am_pm']}) VALUES {$valuesTimes}";
$stmt1 = $db->prepare($sql1);
foreach($data as $avb){
$stmt1->bindParam("user_id", $user_id,PDO::PARAM_STR);
$stmt1->bindParam("day",$avb['day'],PDO::PARAM_STR);
$stmt1->bindParam("am_pm",$avb['time'],PDO::PARAM_STR);
}
$stmt1->execute();
// $stmt1->execute();
}
私の出発点までを参照してくださいを行っているものです上記の電話番号functions
$data = [
0 => ['day'=> 'monday','time'=>'am'],
1 => ['day'=> 'friday','time'=>'pm']
];
$user_id = 2;
$total = count($data);
$fields = ['id'=>'','user_id'=>'user_id','day'=>'day','am_pm'=>'am_pm'];
queryBuilderLocallyDone($data,$fields,$user_id,$total);
質問:なぜ最後の行が2回挿入されるのですか?
事前に感謝してください!
ループ外で準備し、ループでバインドして実行します。 – Script47
値のプレースホルダはどこに定義されていますか? – Script47
私は 'すぐにクエリを実行する' 'コード'を書きましたが、実行するたびに答えが下になります。デモをご覧くださいhttp://phpio.net/s/5470 – EaB