로컬 데이터베이스에서 원격 데이터베이스를 업데이트하고 싶습니다. PHP 스크립트를 작성했지만 치명적인 오류가 표시됩니다.로컬 데이터베이스 테이블에서 원격 데이터베이스 테이블 업데이트
원격 데이터베이스와 로컬 데이터베이스는 같은 이름, 동일한 테이블, 동일한 필드를 가지고 있습니다.
이 방법을 시도했지만 작동하지 않습니다.
가능한 모든 방법을 참조하십시오.
로컬 데이터베이스에서 원격 데이터베이스를 업데이트하고 싶습니다. PHP 스크립트를 작성했지만 치명적인 오류가 표시됩니다.로컬 데이터베이스 테이블에서 원격 데이터베이스 테이블 업데이트
원격 데이터베이스와 로컬 데이터베이스는 같은 이름, 동일한 테이블, 동일한 필드를 가지고 있습니다.
이 방법을 시도했지만 작동하지 않습니다.
가능한 모든 방법을 참조하십시오.
"INSERT INTO $tablename SETLECT * from $tablename"
이 유효하지 않은 SQL 문입니다. SETLECT를 선택하십시오.
잘못 입력했습니다. '중복 항목'1 '에'PRIMARY' 키가 표시됩니다. –
고유 제한이있어서 삽입하려고합니다. 고유 한 제약 조건을 위반하는 두 번 이상 같은 레코드 기존 행을 제거하거나 기본 키에 대해 다른 값을 가진 새 행을 삽입하십시오. –
원격 쿼리의 구문 오류 : "INSERT INTO $tablename SETLECT * from $tablename"
이 있습니다. SETLECT
대신 SELECT
을 의미합니다.
교체 코드 :
$tablename="pc_games";
$database = 'games';
$local_query = "SELECT * FROM $tablename LIMIT 100 OFFSET $remoterows";
$local_result = mysql_query($local_query, $connection) or die(mysql_error());
while($list=mysql_fetch_array($local_result))
{
$remote_update=mysql_query("INSERT INTO $tablename SELECT * from $tablename");
$remote_update_result = mysql_query($remote_update, $remote_connection) or die (mysql_error());
}
당신이 뭘 잘못했는지,이 라인을 잘못 입력했다 : 대신에 당신이 (아마도)를 사용하여 무엇을 의미하는지, 당신이 SETLECT
을 사용
$remote_update=mysql_query("INSERT INTO $tablename SETLECT * from $tablename");
공지 사항 : SELECT
.
타이핑 오류를 감지하는 데 얼마나 오래 걸리는 지 놀라게됩니다.
모든 오류 처리기가 주석에서 언급 한 것으로 변경되었습니다. 나중에 사용하십시오. 그들은 더 나아 졌어.
업데이트 : 코드로 무엇을 했습니까? 모든
$remote_update=mysql_query("INSERT INTO $tablename SELECT * from $tablename");
$remote_update_result = mysql_query($remote_update, $remote_connection) or die (mysql_error());
먼저, 결과에 mysql_query
를 실행 : 난 그냥 과감한 뭔가를 깨달았다. 둘째, 아무 것도 삽입하지 않습니다. INSERT INTO $tablename
. 내 잘못입니까? 아니면 무서운 무언가를하고 계십니까?
, 감사합니다. –
네가 맞습니다. 지금은 오류가 표시되지 않고 원격 데이터베이스에 아무것도 삽입되지 않습니다. 어떻게해야합니까? –
@TallboY 그래서 삽입 코드를 어떻게 변경 했습니까? 좀 봐도 될까요? – think123
왜 당신이 절대적으로 필요하지 않은 경우 (while($list=mysql_fetch_array($local_result))
포함) 결과를 통해 반복된다?
왜 모든 곳에서 오류 기능을 설정 했습니까? trigger_error("SQL", E_USER_ERROR);
.
왜 데이터베이스에 여전히 mysql_*
방법을 사용하고 있습니까? 단지 넣어
당신이 또 다른 테이블에서 데이터를 삽입해야하는 경우
:mysql_query("INSERT INTO $tablename SELECT * FROM $tablename LIMIT 100 OFFSET $remoterows") or die(mysql_error());
과는 함께 할 수.
로컬 데이터베이스에서 원격 데이터베이스를 업데이트하고 싶습니다. 새로운 행이 추가되면 미안하지만, 나는 언급하지 않았다. –
@ TallboY 쉽게 달성 할 수 있습니다. 내 편집을 확인하십시오. – hjpotter92
이 방법으로 'PRIMARY'키에 대해 '중복 항목'34 '을 표시합니다. 리모트 데이터베이스에 33 개의 행이 있습니다. 그리고 방금 내 로컬 데이터베이스에 새 행을 삽입했는데, 왜이 오류가 발생합니까? –
오류를 우리에게 보여줄 수 있습니까? 또한 원격 연결이 제대로 정의되어 있습니까? – think123
치명적인 오류 : SQL, thats it. 예 연결이 적절하고 문제가 없습니다. –
오류 처리기에 이것을 시도해보십시오.'또는 die (mysql_error());', 그런 다음 결과를 알려주십시오. – think123