PHP를 통해 SQL 덤프를 가져 오려고합니다. 다음 코드가 있습니다."MySQL 서버가 사라졌습니다."라는 오류가 발생했습니다. 시간 초과라고 생각하지 않습니다.
@mysql_connect("localhost", "root", "root") or die("Cannot connect to DB!");
@mysql_select_db("great_database") or die("Cannot select DB!");
$query = file_get_contents('defaultDatabasePartOne.sql', FILE_USE_INCLUDE_PATH);
debug($query);
$result = mysql_query($query);
debug($result);
$error = mysql_error();
debug($error);
파일 인 $ query를 디버깅하기 때문에 내 파일을 올바르게로드하고 있다는 것을 알고 있습니다. 파일에서 주석을 제거했지만 여전히 줄 바꿈이 있지만 문제가되지 않습니까?
나는이 오류가 시간 초과와 관련이 있다는 것을 알고 있지만 SET GLOBAL wait_timeout =99999999999
을 실행 했으므로 그 내용이 변경되지 않았다고 생각할 수 있습니다. 나는이 문제를 어떻게 해결할 수 있습니까?
CREATE TABLE `access_tokens` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`token` varchar(32) COLLATE utf8_unicode_ci NOT NULL,
`user_id` int(11) NOT NULL,
`created` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `token` (`token`),
KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
또한 PHP 5.3의 mysql_ 기능은 더 이상 사용되지 않으며 가능한 경우 다른 방법을 찾아야합니다. 더 많은 정보는 여기 : http://www.dreamincode.net/forums/topic/241077-whats-wrong-with-mysql-functions/. – user1934587390
때로는 덤프를 제외하고 한 줄 이상의 내용을 처리합니다. 내 질문에 줄 바꿈을 유지하기 위해 예제를 추가했습니다. 그리고 나서 제대로 실행될 것인가 아니면 그냥'CREATE TABLE 'access_tokens'('와 MySQL이 혼란 스러울 것인가?) 라인을 실행할 것인가? –
어쨌든 –