나는이 다음 SQL 코드를 가지고 :는 SQL
$sql = "INSERT INTO data (Artist, Name) VALUES ('TF2', 'you're right behind me')";
코드 자체는 정상 보이지만 어떤 이유 mysql을 허용하고 싶지 않은 날이 그것을 저장합니다. 나는 다음과 같은 오류가 발생합니다 : 나는 문제는 MySQL의에 예약 된 단어 "오른쪽"입니다 알고 있지만 내가 어떻게해야 내 코드 모양처럼 저장할 필요가있는 무엇
"#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 're right behind me')' at line 1"
. 모든 도움을 주실 수 있습니다
나는 그것이 "당신이 바로 그 뒤에있다"라고 덧붙였다. 어쩌면 당신은 백 슬래시를 사용하여 그것을 벗어날 수 있습니까? – JunM
쉼표를 이스케이프 처리해야합니다. 예를 들어'You \ 're'을 사용하십시오. 'addslashes'라고하는 함수가 있습니다. 이 문제에 관한 PHP 매뉴얼을 참고하십시오. –
이스케이프 SQL 매개 변수. 각각의 db 라이브러리는 문자열 (mysql_escape_string, mysqli_real_escape_string 등)을 올바르게 이스케이프하기위한 연결 인코딩과 같은 것들을 고려할 자체 함수를 가지고 있습니다. 더 좋게는 바인딩 된 매개 변수를 사용하므로 수동으로 이스케이프하지 않아도됩니다. – Orangepill