用MySql数据填充JavaScript数组
我已经看了很多其他的问题,但是没有得到正确的答案。基本上,我有一个需要MySql数据库数据的数组。以下是我尝试过的:用MySql数据填充JavaScript数组,javascript,php,mysql,arrays,Javascript,Php,Mysql,Arrays,我已经看了很多其他的问题,但是没有得到正确的答案。基本上,我有一个需要MySql数据库数据的数组。以下是我尝试过的: var $name = "Foo", $x = 10, $bar = <? php $barQuery = mysql_query("SELECT item FROM table WHERE name = '$name' AND number = '$x'"); $barArray = array();
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);
?>;
然而,我得到一个错误,说语法错误,意外的T_变量。用这种方式填充JS数组是不可能的,还是有其他方法可以做到这一点?PHP开始标记中有多余的空间:
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);
?>";
$name、$x和$bar是javascript变量?@AdrianCidAlmaguer YesNote您使用的是一个早就不推荐使用的API@AdrianCidAlmaguer我之所以使用美元符号,是因为我随后使用$.post将此信息发布到另一个.php文件中;您应该将$bar放入,因为这是一个字符串。这会导致任何问题,因为语音标记会取消选择的开始位置。我已经编辑了OP,以显示接下来会发生什么。还需要什么?@MichaelJarvis你有进步吗?总是这么简单。。。谢谢但是,JS控制台中的一个错误是,当我声明$bar@MichaelJarvis:真奇怪。您是否更改了问题中最初的代码?检查PHP输出的JavaScript,从而通过浏览器进行解析;您的JS控制台可能有助于找出问题所在。是的,它是这样说的:$bar=Warning:mysql_fetch_assoc希望参数1是resource,布尔值在/home/page.php第791[]行给出;第791行是while循环的位置begins@MichaelJarvis:这意味着$barQuery为false,因为mysql\u查询失败。您应该检查mysql\u错误。看见
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);
?>";