0

我想从 PHP 检索一组数组到 ajax。我的代码没有返回任何东西,有人可以帮助我如何将值从 PHP 检索到 ajax。如果我不在 mysql_fetch 中创建数组,它将从数据库中检索最后一个值并将其传递给 ajax 函数。我想获得全部价值。我怎样才能做到这一点?

阿贾克斯代码:

<script>
  //Global Variables
  var channel;
 function overall(){
    $(".one").show();
    $(".two").hide();
    $(".three").hide();
    $(".four").hide();
    window['channel']="overall";
     $.ajax({
             type:"GET",
             url:"dash2.php",
             data:{channel:channel},
             dataType:'json',
             success:function(data){
                    console.log(data.a);
                    console.log(data.b);
                    console.log(data.c);
                    }
            });
    }
</script>

PHP代码:

<?php
   error_reporting(0);
   $channel=$_GET['channel'];
    $host="192.168.0.29";
    $username="root";
    $password="root";
    $dbname="realcl";
  mysql_connect($host,$username,$password)
    OR DIE ('Unable to connect to database! Please try again later.');
    mysql_select_db($dbname);
    $query = 'select * from '.$channel;
    $masterresult = mysql_query($query);
    $success[];
    $timeout[];
    $fail[];

    while($row1 = mysql_fetch_array($masterresult))
    {
        $success[]=$row1[1];
        $timeout[]=$row1[2];
        $fail[]=$row1[3]; 
    }

    echo json_encode(array("a"=>$success,"b"=>$timeout,"c"=>$fail));
?>
4

1 回答 1

0

这将导致致命错误(因此,无效的 json ......):

$success[];
$timeout[];
$fail[];

你可能想要:

$success = array();
// etc.

而且你有一个巨大的 sql 注入问题,你应该根据允许的表名的白名单检查你的表名。您还应该切换到 PDO(或 mysqli),因为这些mysql_*功能已被弃用。

于 2013-03-27T14:13:11.370 回答