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