从PHP获取数据数组并将其传递给C#变量

时间:2019-04-23 08:00:54

标签: 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=showStud&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#,然后将其输出为细分字符串。如果您知道答案,则可以发送答案,也可以提供其他任何解决方案/教程。 非常感谢你!

0 个答案:

没有答案