내 PHP 파일에서 MERGE INTO 문을 사용하여 멀티 플레이어 게임용 MySQL 데이터베이스를 업데이트하거나 삽입하려고합니다.MySQL 데이터베이스에 대해 PHP에서 MERGE INTO 문 사용시 문제
이 PHP 파일은 자바 스크립트 파일에서 다음 줄로 호출:
xmlhttp.open('GET', "phpsqlajax_genxml.php?" + "lat=" + lla[0] + "&heading=" + truckHeading + "&lng=" + lla[1] + "&velocity0=" + vel0 + "&velocity1=" + vel1 + "&velocity2=" + vel2 + "&id=" + playerNumber, true);
이는 PHP를 전송됩니다 여기
내가 달성하기 위해 노력하고있어 자세한 설명입니다 파일 정보를 사용하여 데이터베이스를 업데이트하십시오. 이 플레이어가 새로운 플레이어가되어이 정보가 처음 전송되면 데이터베이스의 새 행이 만들어 지거나 정보를 업데이트해야하는 현재 플레이어가됩니다.새로운 플레이어 인 경우 "id"는 데이터베이스에 아직 존재하지 않는 것입니다.
데이터베이스가 업데이트되지 않고 새 행이 추가되지 않습니다. 머지 (MERGE) 문을 사용하는 데 많은 경험이 없으므로 문법 오류라고 생각합니다. 이 경험이있는 사람이 내가 잘못하고있는 일을 알려주시겠습니까? 당신이하는있는 변수 이해할 수 있도록 여기에
문 INTO 병합하기 전에 코드입니다 :$id = $_GET['id'];
$lat = $_GET['lat'];
$lng = $_GET['lng'];
$heading = $_GET['heading'];
$velocity0 = $_GET['velocity0'];
$velocity1 = $_GET['velocity1'];
$velocity2 = $_GET['velocity2'];
ID가 열 머리글입니다, $ ID가 ID가 여기에
가 전달되고 내 내 PHP 파일에서 문 INTO 현재 MERGE는 :
MERGE INTO markers USING id ON (id = $id)
WHEN MATCHED THEN
UPDATE SET lat = $lat, lng = $lng, heading = $heading, velocityX = $velocity0, velocityY = $velocity1, velocityZ = $velocity2
WHEN NOT MATCHED THEN
INSERT (id, name, address, lat, lng, type, heading, velocityX, velocityY, velocityZ) VALUES ($id, 'bob', 'Poop Lane', $lat, $lng, 'Poop', $heading, $velocity0, $velocity1, $velocity2)
그래서 $ result = FALSE이면 게임이 실행되지 않고 오류 메시지가 표시됩니까? 어디에서 오류 메시지가 표시됩니까? 당신은 thehobbit2movie.com에서 내 게임을 볼 수 있습니다 – user671891
데이터베이스 호출이 무엇을 해야하는지에 달려 있습니다. 높은 점수를 등록하지 못하는 것은 성가 시지만 치명적이지는 않습니다. 4 시간 이상의 전투 후에 보스 X를 때려 눕혔다는 기록을 남기지 못하면 아마 집안에 egged/TP가 걸리게 될 것입니다. 오류 처리는 당신에게 달려 있지만, 성공을 가정하면 맹목적으로는 갈 길이 없습니다. –