그래서 나는 단순한 무언가를 간과 할 수는 있지만 PHP 페이지를 통해 MySQL에서 FIELD를 업데이트하려고합니다. IF 문을 1 톤 실행했지만 위와 같은 방법으로 작동하지 않는 것 같습니다. 여기MySQL : UPDATE에서 FIELD를 대입 할 수 있습니까?
<?php
include('config.php');
$username = $_POST['username'];
$charName = $_POST['charName'];
//ID MARKS
$idMarks = $_POST['IDmarks'];
//EXPERIENCE
$EXP = $_POST['EXP'];
$sql = "UPDATE characters
SET CASE
WHEN idMarks1 IS NULL THEN idMarks1 = '$idMarks'
WHEN idMarks2 IS NULL THEN idMarks2 = '$idMarks'
WHEN idMarks3 IS NULL THEN idMarks3 = '$idMarks'
WHEN idMarks4 IS NULL THEN idMarks4 = '$idMarks'
WHEN idMarks5 IS NULL THEN idMarks5 = '$idMarks'
WHEN idMarks6 IS NULL THEN idMarks6 = '$idMarks'
WHEN idMarks7 IS NULL THEN idMarks7 = '$idMarks'
WHEN idMarks8 IS NULL THEN idMarks8 = '$idMarks'
WHEN idMarks9 IS NULL THEN idMarks9 = '$idMarks'
WHEN idMarks10 IS NULL THEN idMarks10 = '$idMarks'
WHEN idMarks11 IS NULL THEN idMarks11 = '$idMarks'
WHEN idMarks12 IS NULL THEN idMarks12 = '$idMarks'
END
totalEXP = totalEXP + '$EXP',
remEXP = remEXP + '$EXP'
WHERE charName = '$charName' AND username = '$username';
";
if ($conn->query($sql) === TRUE) {
header("Location: ../lead.php");
} else {
echo "Error updating record: " . $conn->error;
}
?>
아이디어는 업데이트가 발견 한 최초의 널 (null) 값에 새 값 ($ idMarks)을 넣고 그 다음 EXP 컬럼에 롤 것입니다. 필자는 MySQL과 관련하여 이전의 문제로 인해 배열을 사용할 수 없습니다. 요점은 idMarks 컬럼이 상처를 추적하고, 상처가 흉터 나 팔다리를 치유하고, 문신이 영구적이며, 기타 등등을 조정할 수있는 이유입니다. 다른 페이지에. 이 문제를 해결하는 방법에 대한 아이디어가있는 사람이 있습니까?
실제로 작동하는 테스트에서는 int로 입력되지만 텍스트 필드에 입력되므로 다른 곳에서 파싱됩니다. – NixondisNRVA
근본적으로 이는 잘못된 디자인 문제입니다. 열거 된 열로 자신을 찾을 때마다 경보 벨이 울리기 시작해야합니다. – Strawberry
그렇다면 다른 열을 놓은 경우 어떻게 idMark에 여러 행의 값을 저장할 수 있습니까? – NixondisNRVA