'Mary' 열이 존재하지 않습니다: 쿼리 오류
쿼리를 실행할 때 가끔 다음과 같은 오류 메시지가 나타날 수 있습니다. 데이터베이스에 특정 열이 존재하더라도 존재하지 않습니다. 그러한 시나리오 중 하나는 쿼리가 잘못된 문자가 포함된 열 이름을 참조하는 경우입니다.
'Mary'의 경우
제공된 예에서 오류는 열과 관련됩니다. '메리'. 그러나 쿼리를 검토해 보면 쿼리에 'Mary'라는 열이 없다는 것이 분명해졌습니다. 대신 'Mary'는 'personname' 열에 할당된 값이 되도록 의도되었습니다.
여기서 핵심은 'Mary'의 잘못된 문자 인코딩으로 인해 오류가 발생한다는 것입니다. 쿼리에서 'Mary'는 유니코드 문자인 둥근 따옴표('Mary')로 묶여 있습니다. 데이터베이스 시스템은 일반적으로 ASCII로 인코딩된 일반 작은따옴표('Mary')를 선호합니다.
문제 해결
이 문제를 해결하려면 스마트 따옴표를 다음으로 바꾸면 됩니다. 쿼리에 일반 작은따옴표가 포함됩니다. 다음과 같이 쿼리를 수정하십시오.
SELECT telephone.telephonenumber as tel FROM person, telephone WHERE person.idperson = telephone.idperson AND person.personname = 'Mary';
이 약간의 조정을 통해 이제 쿼리는 'Mary'라는 이름을 가진 사람을 올바르게 검색하고 해당 전화번호를 검색합니다.
위 내용은 열이 존재하는데도 ''Mary' 열이 존재하지 않습니다.'라는 메시지와 함께 쿼리가 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!