私は大きなテーブルを持っています。何らかの理由で の値の一部が値x2のように更新される理由は何ですか?PHPアップデート、いくつかの値を二重に更新する
私のコード:夜の時間を更新するための
if ($source=='editEmployeeHours') {
$object=htmlentities($_POST['object'], ENT_QUOTES, "UTF-8");
$period=htmlentities($_POST['period'], ENT_QUOTES, "UTF-8");
$m=htmlentities($_POST['m'], ENT_QUOTES, "UTF-8");
$y=htmlentities($_POST['y'], ENT_QUOTES, "UTF-8");
$date=htmlentities($_POST['date'], ENT_QUOTES, "UTF-8");
$records=htmlentities($_POST['records'], ENT_QUOTES, "UTF-8");
include('inc/s.php');
$g = null;
while ($g <= $records){
$g++;
$edithoursday = $personday = $day = null;
$edithoursday=htmlentities($_POST['edithoursday'][$g], ENT_QUOTES, "UTF-8");
$personday=htmlentities($_POST['personday'][$g], ENT_QUOTES, "UTF-8");
$day=htmlentities($_POST['day'][$g], ENT_QUOTES, "UTF-8");
if($edithoursday!=''){
$resultd = mysqli_query($conn,"SELECT * FROM timesheets WHERE day='".$day."' AND person_code = '".$personday."' AND object_id = '".$object."' AND period_code='".$period."' AND type='0'");
if (!$resultd){die("Attention! Query to show fields failed.");}
if (mysqli_num_rows($resultd)!=0){
$queryied = "UPDATE timesheets SET value='".$edithoursday."' WHERE day='".$day."' AND person_code = '".$personday."' AND object_id = '".$object."' AND period_code='".$period."' AND type='0'";
mysqli_query($conn, $queryied);
}
}
}
header("Location: "home");
die(0);
}
私は夜変数 と同じコードが、 を持っているが、私は見ていないことを何も悪いことはありますか?
私は長いコードをお詫び申し上げます! );
印刷自分でクエリをエラー見つけて、私の神は、あなたは間違いなくいくつかのグッドプラクティスを使用することができ – Ima
double型の値を持つ更新がどこにあるかチェックします。あなたのコードはSQLインジェクションに対して脆弱です。 – Mikz
@Mikz何行ですか? –