2012-05-22 4 views
3

MySQL을 인쇄하는 방식에 문제가 있습니다. 자바 스크립트가 실행되지 않습니다. 다음은 그 예입니다.자바 스크립트가 작동하지 않는 PHP/MySQL

square[1] = "asdfasdfadsf"; 

"asdfasdfadsf"내 MySQL 데이터베이스에서 인쇄 할 때 자바 스크립트가 작동하지 않습니다. 그러나 단순히 정적 HTML에 "asdfasdfadsf"를 입력하면 정상적으로 실행됩니다. 내가 할 수있는 한 많은 PHP 함수와 문자셋 변환을 시도했다. 도와주세요!

+0

실제 출력이 그대로입니까? 출력 값을 인용하는 것을 잊지 않았습니까? – bfavaretto

답변

3

데이터베이스에서 문자열 주위에 따옴표를 추가해야합니다.

// Add quotes around the call which prints the vale from PHP. 
// this turns it into a JavaScript string. 
square[1] = '<?php echo "asdfasdfadsf"; ?>'; 
//----------^^----------------------------^^ 

// Or... 
square[1] = '<?php echo $row["value_from_your_db"]; ?>'; 

참고 :이 자체 요구하는 추가 이스케이프의 내부 따옴표가있을 수 있습니다 간단한 문자열보다 어떤 경우 json_encode()이 좋습니다.

+0

견적이 정확합니다. 소스를 볼 때 문자열이 비슷하게 보입니다. –

5

PHP 함수 json_encode을 제안합니다. 문자열을 올바르게 인쇄하는 것 외에도 모든 위험한 문자를 이스케이프 처리합니다.

square[1] = <?php echo json_encode($my_string); ?>; 
+0

json_encode()가 작동했습니다! 내가 그 줄에서 줄을 끊었 기 때문이었습니다. –

관련 문제