나는 방금 magic_quotes_gpc를 배웠습니다 (많은 저의 억울함에). 나는 그것을 꺼냈다.mysqli_real_escape_string이 작동하지 않습니다.
내 데이터베이스 연결은이 쿼리 전에 수행됩니다. 나는 다음과 같습니다 :
$subject = mysqli_real_escape_string($link, $_POST["subject"]);
$body = mysqli_real_escape_string($link, $_POST["body"]);
$id = mysqli_real_escape_string($link, $_POST["id"]);
mysqli_query($link, "UPDATE press SET press_title = '$subject', press_release = '$body' WHERE press_id = '$id'") or die(mysqli_error($link));
위의 마술 따옴표를 사용하면 정상적으로 작동합니다. 일단 그것을 해제하면 작은 따옴표로 작업을 방해 할 수 있습니다 (따옴표에 MySQL 구문 오류가 있음). 나는 그 개념을 이해할 줄 알았지 만 나는 뭔가를 놓치고 있어야만한다. 누군가 내가 잘못하고있는 것을 설명 할 수 있습니까?
UPDATE
오류는 MySQL이 뱉어 : 당신은 당신의 SQL 구문에 오류가 있습니다; 근처 사용할 수있는 권리 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인하는 선에서 '그녀가 말한이야'1
업데이트 # 2 여기 echo'd 쿼리입니다 :
UPDATE press SET press_title = \'That\'s what she said\', press_release = \'That\'s what she said again!\' WHERE press_id = \'513\'
구문 오류가 무엇입니까 : 지표화 된 쿼리를 사용? –
마지막 SQL 쿼리 문자열도 표시하십시오. – mario
@ThorpeObazee 원래 게시물을 업데이트했습니다. – thebarless