2015-01-06 3 views
0

문제가 있습니다. 따라서 데이터가 데이터베이스에서 나오고 텍스트 영역에 저장됩니다. 사용자가 텍스트 영역의 데이터를 변경하면 내용이 javascript로 전송되고 AJAX (PHP 스크립트로 POST)를 통해 데이터베이스가 업데이트됩니다. 이것은 사용자가 개행을 추가하기 전까지는 잘 동작합니다. 그런 다음 javascript는이를 \ n 문자로 변환하므로 데이터베이스에 \ n 저장됩니다.PHP/MYSQL이 n을 개행 문자로 바꿉니다.

내가 원하는 것은 내 데이터베이스에 실제 줄 바꿈을 넣고 줄 바꿈 문자를 \ n 사용하는 것입니다. 어떤 방법으로 PHP를 사용하여 \ n을 실제 개행 (br가 아닌)으로 대체 할 수 있습니까? char (10)로 편집 한 후에 데이터베이스 필드를 변경해 보았습니다. 그러나 phpmyadmin에서 수동으로 수행 할 때를 제외하고는 스크립트에서 작동하지 않는 이유가 무엇입니까?

전체 PHP 요청으로 편집 할 때, 텍스트 영역의 개행 문자는 \ n이 아닌 mysql에 char (10)으로 올바르게 저장됩니다.

단서가 있습니까? 그것은하지만 real_escape_string

real_escape_string 먼저 탈출대로

+0

? 유닉스/윈도우? –

+0

PHP는'\ n'을 새 줄로 출력하지 않습니다. 그것을'str_replace'하려고'
' –

+0

유닉스, mysql입니다. –

답변

0

스토어는 줄 바꿈으로 /n를 대체 할 '\ n 개의 \ r에'

$text = $mysqli->real_escape_string($text); 
+0

이것이 문제를 해결 한 것 같습니다. 또한 str_replace ('\ n', "\ n")이 작동했습니다 ... –

+0

@JeffreyMDeMeulemeester 그래, 고마워, 내 첫 번째 대답은 조금 돌진했고 나는 -1로 마땅히 받아 들였고 나중에 나는이 새로운 대답으로 바꿨다. – acontell

-1

사용 [nl2br][1] 기능 4 문자열에 개행이 무엇 변환

문자열에 줄 바꿈 (\ n)이있는 곳에 줄 바꿈을 삽입하십시오.

,210

코드의 브라우저 출력은 상술 될 것이다 어떤 OS가 서버에서 사용

One line. 
Another line. 
+0

이것은 내가 원하는 것이 아닙니다. char (10)을 사용하여 데이터베이스에 올바르게 저장하려고합니다. –

관련 문제