2012-03-07 2 views
1

PHP에서 odbc를 통해 MSSQL 데이터베이스에서 필드 이름을 반환하는 데 문제가 있습니다.mssql에 PHP와 ODBC - 열 이름이 올바르게 표시되지 않습니다.

SELECT t.ID, t.end_user, ts.name 'status', tp.name 'priority' FROM tickets t INNER JOIN status ts ON ts.ID = t.status INNER JOIN priorities tp ON tp.ID = t.priority 

문제는 내가 MSSQL 서버에서이 작업을 실행하면 내 페이지에서 실행하는 경우, 열 이름 (ID, end_user, 상태, 우선 순위) 예상대로 올하지만,이다 : 다음과 같이 내 쿼리입니다 상태 및 우선 순위 열 모두에 대해 "이름"을 얻습니다.

행의 이름 변경이 표시되지 않는 이유가 있습니까? 쿼리에서 "AS"를 사용해 보았습니다. 운이 없었습니다.

박스 우분투 실행 FreeTDS를 ODBC 드라이버 버전 7.2 난 그냥 전화 J_D하는 이야기

답변

3

(총 인터넷 줄기!), 그 열 이름에

+''
을 추가하는 제안입니다. 그건이 버그를 우회하는 것 같습니다. 위의 코드는 해킹 비트 인

SELECT t.ID, t.end_user, ts.name+'' 'status', tp.name+'' 'priority' FROM tickets t INNER JOIN status ts ON ts.ID = t.status INNER JOIN priorities tp ON tp.ID = t.priority 

으로 변경해야하지만 정상적으로 작동합니다. 분명히 이것은 PHP에서 ODBC 결과를 해독하려고 할 때 발생하는 일종의 버그의 결과입니다.

누구나 SQL 코드 변경을 포함하지 않는 제안이있는 경우 직접 고맙게 생각하며 SQL 코드 페이지와 페이지를 변경하지 않아도됩니다.

다른 뉴스에서 J_D, 임의의 낯선 사람에게 전화로 그런 신사가되어 주셔서 감사합니다.

+2

시나, 감사합니다. 네티즌이 나쁘다고 생각하면서 답변을 보내지 않으셔서 고맙습니다. 확실히 처음으로 전화를 받으면서, 그러나 당신과 말하는 즐거움! –