php вызов процедуры с входными параметрами
Не могу разобраться, т .к не приходилось работать на php. С Android отправляю POST запросы на сервер php, есть процедура "uPersData4Auth ($loginwrk, $dname)" которая принимает 2 входных параметра loginwrk и dname, и отправляет результат виде таблицы на фото, мне нужно вызвать процедуру с 2 отправленными параметрами и отправить ответ в виде json. Буду благодарен за помощь, 
if(isset($_POST['loginwrk']) && isset($_POST['dname']))
{
$loginwrk = $_POST['loginwrk'];
$dname = $_POST['dname'];
Ответы (1 шт):
Автор решения: mepihindeveloper
→ Ссылка
Для того, чтобы отправить JSON установите заголовки ответа:
header('Content-Type: application/json');
Установите код ответа, если надо:
http_response_code(200); // 200 - код ответа
Сделайте вывод:
echo json_encode([], JSON_THROW_ON_ERROR); // [] - массив ответа.
В массив ответа надо сделать выборку из метода БД:
$host = '127.0.0.1';
$db = 'test';
$user = 'root';
$pass = '';
$charset = 'utf8';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$opt = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
$pdo = new PDO($dsn, $user, $pass, $opt);
$stmt = $pdo->prepare(SELECT * FROM uPersData4Auth(?, ?)");
$stmt->execute([$loginwrk, $dname]);
$jsonResponce = [];
foreach($stmt as $row) {
$jsonResponce[] = $row;
}
echo json_encode($jsonResponce, JSON_THROW_ON_ERROR);