Get data from PHP query using JSON not working

my php code is:

$query = "SELECT * FROM users WHERE user='admin' AND password='MTIz'";
$result = $link->query($query);
$yes = array();
$yes[] = $result->num_rows;
echo json_encode($yes);

And my HTML code is:

  $.ajax({
    url: 'vlogin.php',
    type: 'POST',
    data: myData,
    dataType: 'json',
    contentType: "application/json; charset=utf-8",
    success: function(yes) {
    alert(yes.Result);}
});

Not return anything. What appens? Thanks

Upvotes: 0

Views: 78

Answers (3)

Lex Lustor
Lex Lustor

Reputation: 1615

When using $.ajax(), I usually implement the error callback :

From the jquery doc : error (Type: Function( jqXHR jqXHR, String textStatus, String errorThrown ))

Implementing it allows you to see if the call is generating (bad JSON) or receiving (webservice error) errors : you can log/alert textStatus and errorThrown.

$.ajax({
      url: 'vlogin.php',
      type: 'POST',
      data: myData,
      dataType: 'json',
      contentType: "application/json; charset=utf-8",
      success: function(yes) {
          console.log(yes.Result);
      },
      error: function(jqXHR, textStatus, errorThrown) {
          console.log(textStatus);
          console.log(errorThrown);
      }
});

Upvotes: 1

Vipin Sharma
Vipin Sharma

Reputation: 421

Try Below

 $query = "SELECT * FROM users WHERE user='admin' AND password='MTIz'";
 $result = $link->query($query);
 $yes = array();
 $yes['record'] = $result->num_rows;
 echo json_encode($yes);

And .ajax

  $.ajax({
          url: 'vlogin.php',
          type: 'POST',
          data: myData,
          dataType: 'json',
          contentType: "application/json; charset=utf-8",
          success: function(yes) {
          console.log(yes.record);
    }
 });

Upvotes: 0

nerdyDev
nerdyDev

Reputation: 376

$query = "SELECT * FROM users WHERE user='admin' AND       password='MTIz'";
$result = $link->query($query);
$yes = array();
$yes[] = $result->num_rows;
echo json_encode($yes);
die;

apply die after the json_encode($yes); it will give you result then

and alert only yes like this alert(yes);

Upvotes: 0

Related Questions