Приложение SWIFT 4 запросы


#1

Есть приложение которое подключается к базе данных phpmyadmin, там есть таблица в которой есть имя пользователя его логин пароль и idAcc, мне нужно в приложении вбиваю пароль и логин и в приложении в окне должно вывести этот idAcc! Подскажите как это сделать!


#2

Для начала разобраться с языком запросов SQL. PhpMyAdmin - всего лишь интерфейс для более удобной работы с БД (MySQL, MariaDB и т.д.), после уже пробовать к самой базе подключаться и работать с ней.


#3

Я работаю с MySQL. Там есть база данных Local_test, а в ней табличка servisniki, в ней содержится
idAcc Kod KodServisnika FIO LOGIN PASS

2ed3bee18 1 000004312 Обухов 123456 123456
Игорь
Николаевич
мне нужно в своем приложении ввести пароль и логин, далле должна быть проверка на соответствие, если все верно то должно выдать idAcc. Могу дать код приложения


#4

А как у вас сделано подключение к базе для начала?


#5

создал 4 файла
1 -ый

<?php define('DB_USERNAME', 'root'); define('DB_PASSWORD', ''); define('DB_HOST', 'localhost'); define('DB_NAME', 'local_test');

#6

2-ой<?php

class DbConnect
{
private $conn;

function __construct()
{
}

/**
 * Establishing database connection
 * @return database connection handler
 */
function connect()
{
    require_once '/.Config.php';

    // Connecting to mysql database
    $this->conn = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME);

    // Check for database connection error
    if (mysqli_connect_errno()) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    // returing connection resource
    return $this->conn;
}

}


#7

3-ий<?php

class DbOperation
{
private $conn;

//Constructor
function __construct()
{
    require_once dirname(__FILE__) . '/Config.php';
    require_once dirname(__FILE__) . '/DbConnect.php';
    // opening db connection
    $db = new DbConnect();
    $this->conn = $db->connect();
}

//Function to create a new user
public function createTeam($teamLOGIN, $memberPASS)
{
    $stmt = $this->conn->prepare("INSERT INTO sevisniki(LOGIN, PASS) values(?, ?)");
    $stmt->bind_param("si", $teamLOGIN, $memberPASS);
    $result = $stmt->execute();
    $stmt->close();
    if ($result) {
        return true;
    } else {
        return false;
    }
}

}


#8

4-ый<?php

//creating response array
$response = array();

if($_SERVER[‘REQUEST_METHOD’]==‘POST’){

//getting values
$teamName = $_POST['LOGIN'];
$memberCount = $_POST['PASS'];

//including the db operation file
require_once '../includes/DbOperation.php';

$db = new DbOperation();

//inserting values 
if($db->createTeam($teamLOGIN,$memberPASS)){
    $response['error']=false;
    $response['message']='Team added successfully';
}else{

    $response['error']=true;
    $response['message']='Could not add team';
}

}else{
$response[‘error’]=true;
$response[‘message’]=‘You are not authorized’;
}
echo json_encode($response);
только это подключение пока на ввод данных в таблицу


#9

Вам значит нужно создать еще 1 файл для вашего запроса. Аналогично 4-му файлу. В DbOperation создайте новую функцию для логина. Запрос для MySQL “select * from sevinski where login=? and pass=?”.
Если запись найдется, значит все введено верно, если записи не будет, значит такого логина не существует, либо пароль не верный. После чего возвращайте уже соответствующий ответ.

На клиенте думаю вы уже разберетесь как отправлять запрос, по аналогии с созданием команды.