Получить данные из MySQL и, если результат === 0, то сделать что-то - PullRequest
0 голосов
/ 28 октября 2018

Моя основная задача - создать список контактов.Таким образом, пользователь нажимает кнопку, затем пользователь видит на экране, вводит электронное письмо контактного пользователя, а затем, если ответ от сервера «result === 0», пользователь контакта будет успешно добавлен в список контактов.Если ответ от сервера «result === -1», то пользователь не был найден, так как электронная почта не существует.

Все работает нормально, кроме одной вещи: даже если электронное письмо неверно, онопоказывает, что ответ пользователя был успешным.

Я не могу найти то, что я делаю неправильно.Может ли кто-нибудь помочь мне, пожалуйста?

Вот мой код:

Список контактов (React Native):

addNewContact = (email) => {
this.setState({
  promptVisible: false,
});
if (email === this.props.email) {
  Alert.alert('This is your username', 'You cannot add yourself to contacts!');
  return;
}
for (var i = 0; i < this.state.contacts.length; i++) {
  if (email === this.state.contacts[i].email) {
    Alert.alert('Existing Contact', 'Contact ' + email + ' already exists');
    return;
  }
}
this.showLoading();
fetch('LINK')
  .then((response) => response.json())
  .then((responseData) => {
    this.hideLoading();
    var result = responseData.result;
    var contactId = responseData.id;
    var name = responseData.name;
    if (result === 0) {
      console.log("Success");
      var newContacts = this.state.contacts.slice();
      newContacts[newContacts.length] = {
        contact_id: contactId,
        name: name,
        email: email
      }
      this.setState({
        dataSource: this.state.dataSource.cloneWithRows(newContacts),
        contacts: newContacts
      });
      Alert.alert('Contact added', 'User ' + email + ' was added to your contacts')
      console.log(newContacts);
    } else {
     if (result === -1) {
       Alert.alert('Not Found', 'User ' + email + ' not found');
       console.log("Bad");
       console.log(responseData);
     }
    }
  })
  .done;
}

Сервер (PHP):

<?php
include 'DBConfig.php';

$conn = new mysqli($Name, $User, $Pass, $Database);

if ($conn->connect_error) {

die("Connection failed: " . $conn->connect_error);
} 

$json = file_get_contents('php://input');

$obj = json_decode($json,true);

$email = $obj['email'];

$sql = "SELECT id, name, email FROM Registration WHERE email='$email'";

$result = mysqli_fetch_array(mysqli_query($conn,$sql));

if (isset($result)) {
  $result = array('result' => 0);
  echo json_encode($result);

} else {
  $result = array('result' => -1);
  echo json_encode($result);
}
 echo $json;
 $conn->close();
?>

обн: я обнаружил, что в моей консоли это показывает:

Success
 Array [
  Object {
   "contact_id": undefined,
   "email": "Djdf",
   "name": undefined,
 },
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...