我已经查看过关于SO的各种其他问题,但无法得到正确答案。基本上,我有一个需要来自MySql数据库的数据的数组。这是我尝试过的:
var $name = "Foo",
$x = 10,
$bar =
<? php
$barQuery = mysql_query("SELECT item FROM table WHERE name = '$name' AND number = '$x'");
$barArray = array();
while ($r = mysql_fetch_assoc($barQuery))
{
$barArray[] = $r['item'];
}
echo json_encode($barArray);
?>;
编辑:然后我将其发布到.php文件,并打印返回的数据:
$.post("file.php", {bar: JSON.stringify($bar), name: $name}).done(function(data)
{
$('body').html(data);
window.print();
setTimeout("location.reload(true)", 500);
});
但是,我收到错误提示“语法错误,意外的T_VARIABLE”。难道不可能以这种方式填充JS数组,还是有其他方法可以实现呢?
答案 0 :(得分:0)
var $name = "Foo",
$x = 10,
$bar = "
<?php
$barQuery = mysql_query("SELECT item FROM table WHERE name = '$name' AND number = '$x'");
$barArray = array();
while ($r = mysql_fetch_assoc($barQuery))
{
$barArray[] = $r['item'];
}
echo json_encode($barArray);
?>";
答案 1 :(得分:0)
PHP开头标记中有一个多余的空间:
<? php
^--- this shouldn't be there
按照目前的情况,<?
被解析为一个短开放标记,因此php
被解析为一个(n未定义的)常量,后面跟着$barQuery
- 因此您看到语法错误:unexpected T_VARIABLE
。