我對MYSQL相對來說比較新,並且遇到了將我已閱讀的想法相結合的麻煩。我有一個查詢生成的表單。我希望能夠插入或更新,具體取決於當前是否有匹配的行。我有下面的代碼,它適用於插入,但我;我正在努力與重複更新部分我不斷收到一條消息,說我的語法中有一個錯誤或未展開ON取決於我如何把''。在數組上使用重複密鑰更新
require_once("connect_db.php");
$row_data = array();
foreach($_POST['attendancerecordid'] as $row=>$attendancerecordid) {
$attendancerecordid=mysqli_real_escape_string($dbc,$attendancerecordid);
$employeeid=mysqli_real_escape_string($dbc,($_POST['employeeid'][$row]));
$linemanagerid=mysqli_real_escape_string($dbc,($_POST['linemanagerid'][$row]));
$abscencecode=mysqli_real_escape_string($dbc,($_POST['abscencecode'][$row]));
$date=mysqli_real_escape_string($dbc,($_POST['date'][$row]));
$row_data[] = "('$attendancerecordid', '$employeeid', '$linemanagerid', '$abscencecode', '$date')";
}
if (!empty($row_data)) {
$sql = 'INSERT INTO attendance (attendancerecord, employeeid, linemanagerid, abscencecode, date) VALUES '.implode(',', $row_data)
ON DUPLICATE KEY UPDATE abscencecode = $row_data[abscencecode];
echo $sql;
$result = mysqli_query ($dbc, $sql) or die(mysqli_error ($dbc));
}
各種echo語句顯示正確的數據正在通過,而且在添加到ON DUPLICATE語句之前,我的select語句和預期的一樣。
echo $ sql輸出是什麼? – Mihai