2012-05-22 38 views
3

我打印MySQL的方式有問題,而且JavaScript沒有執行它。這是一個例子。PHP/MySql JavaScript不工作

square[1] = "asdfasdfadsf"; 

當我從我的MySQL數據庫中打印「asdfasdfadsf」時,javascript不起作用。但是,如果我只是在靜態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

我建議json_encode PHP函數。除了正確打印字符串之外,它還可以逃脫所有危險字符。

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

json_encode()工作!這是因爲我打破了絃線。 –