0

PHPからajaxに一連の配列を取得したい。私が持っているコードは何も返さないので、誰かが PHP から ajax に値を取得する方法を教えてくれませんか? mysql_fetch で配列を作成しないと、データベースから最後の値が取得され、それが ajax 関数に渡されます。全体の値を取得したい。これどうやってするの?

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 インジェクションに大きな問題がある場合は、テーブル名を許可されたテーブル名のホワイト リストと照合する必要があります。mysql_*関数は非推奨であるため、PDO (または mysqli) に切り替える必要もあります。

于 2013-03-27T14:13:11.370 に答える