1

学校の Web スペースにある MySQL DB からデータを取得し、そのデータを JSON に解析できる PHP Web サービスを作成しようとしています。次に、このphp関数をjQueryから呼び出しますが、phpは空の配列を返すようです。

phpコードは次のとおりです。

    <?php



// Create connection
$con=mysqli_connect("mysqlstudent","sylvainvansteela","zei8quea0eeP","sylvainvansteela");

if (mysqli_connect_errno($con))
 {

 echo "Failed to connect to MySQL: " . mysqli_connect_error();

 } else {

$mysqlstring = "SELECT * FROM customers";

$result = mysqli_query($con,$mysqlstring);
$rows = array();

while($r = mysql_fetch_array($result)) {
  $rows["id"] = $r[0];
  $rows["email"] = $r[1];
}


header("Content-type: application/json");
echo json_encode($rows);

}


?>

そして、ここにjQueryコードがあります:

関数 getCustomers(){

    var url = 'http://student.howest.be/sylvain.vansteelandt/fedex/server/getcustomers.php';

    $.getJSON(url,function(data){

    if(data){
        alert(data);
        console.log(data.length);
    } else {
        alert('error');
    }



});

};

getCustomers();
4

3 に答える 3

1

PHP の次の部分を変更することをお勧めします。

$rows = array();

$i = 0; // add this
while($r = mysqli_fetch_array($result)) { // mysqli!
  $rows[$i]["id"] = $r[0];
  $rows[$i]["email"] = $r[1];
  $i++; // don't forget to increment
}
于 2013-07-18T10:21:41.183 に答える
0

ここで変更を加える必要があります。

$inc = 0;
while($r = mysqli_fetch_array($result)) { //here you are using the mysql it should be mysqli
  $rows[$inc]["id"] = $r[0];
  $rows[$inc]["email"] = $r[1];
  $inc++;
}

可能であれば、を使用してmysqli_fetch_assocください。

于 2013-07-18T10:22:36.350 に答える
0
$rows = array();
while($r = mysqli_fetch_array($result)) {
    $row = array();
    $row['id'] = $r[0];
    $row['email'] = $r[1];
    array_push($rows, $row);
}
echo json_encode($rows);

// OR simplify
$rows = array();
while($r = mysqli_fetch_array($result)) {
    array_push($rows, array('id'=>$r[0], 'email'=>$r[1]));
}
echo json_encode($rows);
于 2013-07-18T10:47:33.037 に答える