У меня есть этот код внутри тега php, который сам находится внутри тега script. Почему это дает мне эту ошибку?
print("document.getElementById(\"userComment\").innerHTML=\"
<div style=\"background:url('assets/images/userImages/{$row4['image']}') no-repeat; width: 3em; height: 3em; background-position: center; background-size: 210%; border-radius: 50%;\">
</div>\";");
Я нет, извините за плохую формулировку здесь при переполнении стека; просто пытался внести ясность.
Вы запутались, цитируя проблемы. Это было бы хорошим местом для использования здесь-строки, поэтому вам не нужно беспокоиться о кавычках PHP.
А в JavaScript используйте литерал шаблона, а не строку в двойных кавычках. Это позволит вам иметь новые строки в строке, а также избежать проблемы вложенных двойных кавычек.
echo <<<EOS
document.getElementById("userComment").innerHTML=`
<div style = "background:url('assets/images/userImages/{$row4['image']}') no-repeat; width: 3em; height: 3em; background-position: center; background-size: 210%; border-radius: 50%;">
</div>`;
EOS ;
Или выйти из режима PHP в буквальный вывод:
?>
document.getElementById("userComment").innerHTML=`
<div style = "background:url('assets/images/userImages/<?php echo $row4['image']; ?>') no-repeat; width: 3em; height: 3em; background-position: center; background-size: 210%; border-radius: 50%;">
</div>`;
<?php
У вас действительно есть разрыв строки после
innerHTML=\"
? JavaScript не допускает разрывов строк внутри строк.