Php 将mysql_fetch_行结果转换为javascript数组

Php 将mysql_fetch_行结果转换为javascript数组,php,javascript,Php,Javascript,我试图将php mysql_fetch_行结果转换为javascript数组,所以我编写了下面的代码来实现这一点。但我遇到了一个问题,若结果中有多行,那个么只有最后一行存储在javascript数组中 <script> function sub() { alert("coming"); var a= new Array; <?php $dbhost ='localhost'; $dbuser = 'root'; $dbpass = ''; $dbname = 'pupilcaf

我试图将php mysql_fetch_行结果转换为javascript数组,所以我编写了下面的代码来实现这一点。但我遇到了一个问题,若结果中有多行,那个么只有最后一行存储在javascript数组中

<script>
function sub()
{
alert("coming");
var a= new Array;
<?php
$dbhost ='localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'pupilcafe';
$conn = mysql_connect($dbhost,$dbuser,$dbpass) or die ('Error Connecting to mysql');
mysql_select_db($dbname,$conn);
$uid=1;
$semester='1stSemester';    
$cid=1;
$qry="select * from subject where cid='$cid'&& uid='$uid'&& semester='$semester'";
$res = mysql_query($qry);
while($data=mysql_fetch_row($res))
{
$i=0;
echo "a[$i]='".$data[1]."';";
$i++;
}
?>
alert(a[0]);
}
</script>

函数子()
{
警惕(“即将到来”);
var a=新数组;

不要自己捏造Javascript语法。使用
json\u encode

$a = array();
while ($data = mysql_fetch_row($res)) {
    $a[] = $data[1];
}

?>

<script>
    var a = <?php echo json_encode($a); ?>;
</script>
$a=array();
而($data=mysql\u fetch\u row($res)){
$a[]=$data[1];
}
?>
变量a=;

此外,mysql_uu函数已被弃用。不要将其用于新代码。请使用mysqli或PDO。

首先,您应该遵循一些编码准则。您的编码方式并不整洁。 停止使用mysql_查询。它正在贬值,开始使用PDO。在谷歌上搜索。 其次,你应该转义你在查询中使用的变量,以避免sql注入。你想要的不能用你写的代码实现。
function sub() {

    //your queries and other stuff here

    while($data=mysql_fetch_row($res))
    {

        $tempArray[] = $data;

    }

    return json_encode($tempArray);
}
?>

<script language = "javascript">

    window.addEventListener("onload", function () {
        var temArray = "<?php echo sub(); ?>";

        alert(tempArray);

    }, false);

</script>
函数子(){
//你的问题和其他东西在这里
而($data=mysql\u fetch\u row($res))
{
$tempArray[]=$data;
}
返回json_encode($tempArray);
}
?>
addEventListener(“onload”,函数(){
var temArray=“”;
警报(临时阵列);
},假);

onload eventListener将告诉您页面是否已加载。否则,您的函数调用sub()可能会给您一个错误“undefined function”,因为它尚未加载。

谢谢Abhishek!是的,我也会搜索pdo