Я пытаюсь вывести значения массива в консоль, но я получаю неопределенную ошибку:
ОШИБКА
ReferenceError: Ciencia is not defined
КОД
$sql = "SELECT topic FROM book_list WHERE topic != '' ORDER BY topic ASC";
$result = mysqli_query($db, $sql);
<?php
while($topic = mysqli_fetch_assoc($result)){?>
console.log(<?php echo $topic['topic']; ?>);
<?php }?>
Если я вывожу sql в консоли mysql, я получаю это
+-------------+
| topic |
+-------------+
| Ciencia |
| Comedia |
| Comedia |
| Matematicas |
| Science |
+-------------+
Спасибо!
Похоже, он пытается console.log(Ciencia)
вместо console.log("Ciencia")
.
Измените свою линию на:
console.log("<?php echo $topic['topic']; ?>");
Вам нужно преобразовать строку PHP в строку Javascript, а не пытаться использовать строку PHP как выражение. json_encode()
подходит для этого.
console.log(<?php echo json_encode($topic['topic']); ?>);
Это лучше, чем просто помещать кавычки вокруг выражения echo, если переменная PHP содержит специальные символы, которые необходимо закодировать (например, кавычки).