나는 거대한 mssql 파일을 가지고있다. 나는 file_get_contents()를 통해 그 파일을 읽고, 각 줄의 ID를 기반으로 한 묶음의 배열에 모든 것을 집어 넣고 싶다. 불행히도, ID는 다른 테이블에서 다른 이름을 갖습니다. 아래의 행은 모두 특정 게시물에 대한 것이며 (ID가 같은 29 개의 항목 중 하나임) 아래 예에서 ID는 1234567890입니다.PHP 배열로 MSSQL 덤프
예 :
[ID] 그래서 기본적으로 내가했던 것과
INSERT [dbo].[sf_VrsTxtData] ([Application], [ItemID], [CultureID], [Version], [KeyValue], [DataImpl], [HasDynamicLinks], [TypeCode]) VALUES (N'/', N'1234567890', 101, 1, N'Thumbnail', N'/news/images/thumbnail.jpg', 0, 18)
아래
INSERT [dbo].[sf_CmsTaggedContent] ([Application], [ContentID], [TagID], [Owner]) VALUES (N'/News', N'1234567890', N'3434', N'author')
[항목 ID] 아래
INSERT [dbo].[sf_CmsContentBase] ([Application], [ID], [MimeType], [StreamingProviderName], [ParentID], [Url], [LoweredUrl], [CommentsCount], [ItemInfo], [Creator]) VALUES (N'/News', N'1234567890', N'text/html', NULL, NULL, N'/2012/URL', N'/2012/url', 0, NULL, N'author')
[콘텐츠 ID] 아래 각각의 자체 라인은 먼저, 첫 번째는, 내가 그 배열의 각을 통해 foreach는 것 그리고
$sqlLineArray = array(
'Application' => '/News',
'ID' => '1234567890',
'MimeType' => 'text/html',
'StreamingProviderName' => NULL,
'ParentID' => NULL,
'Url' => '/2012/URL',
'LoweredUrl' => '/2012/url',
'CommentsCount' => '0',
'ItemInfo' => NULL,
'Creator' => 'author'
);
같을 ID 명명의 차이에 대한 몇 가지 조건문을 적용하고, ID가 어디 다음 다른 다차원 배열을 할 수 있도록 키를 가지고 있으며, 그 안에 연결된 하위 배열의 모든 것을 가지고 있으므로, 나는 데이터를 서로 링크하고 나중에 다른 데이터베이스로 정규화 할 수 있습니다.
실제로 데이터베이스를 쿼리하지 않고도 PHP로이를 수행 할 수있는 쉬운 방법이 있습니까? 데이터 덤프 만 있습니다. 나는 여러 곳에서 폭발 할 수 있다고 생각하고 있지만 ID가 나타나는 순서에는 운이나 이유가 없으므로 ID가 $ sqlLineArray [2] 또는 그 이상이라고 말할 수는 없다. 항상 그런 것은 아닙니다.
mssql_fetch_array() 종류는 적당하지만 첫 번째 매개 변수는 쿼리 문자열이 아닌 리소스 여야합니다.