Javascript console.log()向php字符串返回引用错误

时间:2018-04-04 18:10:36

标签: javascript php mysql

我正在尝试将数组值输出到控制台,但是我得到一个未定义的错误:

错误

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 }?>

如果我在mysql控制台中输出sql,我会得到这个

+-------------+
| topic       |
+-------------+
| Ciencia     |
| Comedia     |
| Comedia     |
| Matematicas |
| Science     |
+-------------+

谢谢!

2 个答案:

答案 0 :(得分:2)

似乎在尝试console.log(Ciencia)而不是console.log("Ciencia")

将您的行更改为:

console.log("<?php echo $topic['topic']; ?>");

答案 1 :(得分:0)

您需要将PHP字符串转换为Javascript字符串,而不是尝试将PHP字符串本身用作表达式。 json_encode()对此有好处。

console.log(<?php echo json_encode($topic['topic']); ?>);

这比仅仅在echo语句周围添加引号更好,以防PHP变量包含需要编码的特殊字符(例如引号)。