Получить массив данных из PHP и передать его переменным C #

#c# #php #mysql #codeigniter

#c# #php #mysql #codeigniter

Вопрос:

У меня есть приложение на c #, которое необходимо отправлять и извлекать с помощью PHP-файла. Затем этот PHP-файл обменивается данными с базой данных, которую приложение использует для своих данных. Моя проблема в том, что я не знаю, как отправлять и получать массив данных между PHP и C #. Ниже приведен мой код, который обрабатывает только одни данные, student_id.

Я пытался найти учебные пособия и решения, и даже API, но никто не мог дать точную помощь, в которой я нуждаюсь.

Вот мой PHP-код:

 class CaptureForm{
////LOCAL FUNCTION [->]
    private function query($sql, $arg, $fetch = false){
        require "config.php";
        $q = $db->prepare($sql);
        $q->execute($arg);
        return $fetch ? $q->fetch(2) : $q;
    }
private function getStud($stud_no){
        return $this->query("SELECT stud_id FROM tbl_students WHERE stud_id COLLATE latin1_bin LIKE ?", array($stud_no), true)["stud_id"];
    }

////LOCAL FUNCTION [<-]

     public function ShowStud($stud_no){
        if(empty($stud_no)) return "ERROR:MISSING_PARAMETERS";
        return $this->query("SELECT first_name FROM tbl_students WHERE stud_id  = ?", array($this->getStud($stud_no)), true)["first_name"];
    }
////USER FUNCTION [->]
    public function CheckWork($stud_no){ //=login
        if(empty($stud_no)) return "ERROR:MISSING_PARAMETERS";
        return  "OK:LOGGED_IN";
    }
  

и это мой код на C #:

 private void btn_in_Click(object sender, EventArgs e)
        {

            if (Execute("CheckWork", "stud_no="   stud_num.Text) == 1)
            {
                stud_no = stud_num.Text; //To pass it to any other froms (=global)
                //same for pass
                WebClient fetchInfo = new WebClient();
                string studno = fetchInfo.DownloadString("http://localhost/server_api/clog.php?action=showStudamp;stud_no="   stud_no);
                if (studno == "Michelle")
                {
                    MessageBox.Show("You are logged in! Yay!", "Logged in", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("You are logged in!", "Logged in", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

            }
        }
  

Оба кода работают очень хорошо, но, как я уже сказал, могут обрабатывать только одни данные.
Я ожидаю, что массив данных будет отправлен на PHP, затем в базу данных и обратно с PHP на C #, а затем выведет его в виде разбитых строк. Вы можете отправить ответ, если знаете, или любое другое решение / руководство, которое вы можете предоставить.
Большое вам спасибо!!

Комментарии:

1. вы можете попробовать создать post для PHP с несколькими элементами и получить обратно некоторый JSON, который вы можете обработать на C#

2. Спасибо за ответ, и да, я тоже пробую этот подход. Но у меня возникли проблемы с поиском правильного решения. Я вижу некоторые, но они не соответствуют моим потребностям, и темы далеки от того, что у меня есть. Итак, может быть, вы можете предоставить мне несколько полезных ссылок, сэр?