将数据从Swift检索到PHP,然后返回到Swift

将数据从Swift检索到PHP,然后返回到Swift,php,swift,Php,Swift,在我的PHP文件中,我有以下代码: $user_id = $_POST['user_id']; require_once('Connect.php'); $sql = "SELECT * FROM Loans WHERE user_id='$user_id'"; 我用HTML检查它,它就工作了。没什么问题。然而,当我试图把它放在Swift中时,我有一个问题。我不知道如何将“user_id”的值从Swift文件放到PHP文件中,然后返回Swift执行PHP文件 这是我的Swift代码:

在我的PHP文件中,我有以下代码:

$user_id = $_POST['user_id']; 
require_once('Connect.php'); 

$sql = "SELECT * FROM Loans WHERE user_id='$user_id'"; 
我用HTML检查它,它就工作了。没什么问题。然而,当我试图把它放在Swift中时,我有一个问题。我不知道如何将“user_id”的值从Swift文件放到PHP文件中,然后返回Swift执行PHP文件

这是我的Swift代码:

if let loanArray = jsonObj!.value(forKey: "loans")  as? NSArray
                        {
                            for loans in loanArray
                            {
                                if let loanDict = loans as? NSDictionary
                                {
                                    if let name = loanDict.value(forKey: getBnum)
                                    {
                                        self.borrNoArray.append(name as! String)
                                    }

                                    if let name = loanDict.value(forKey: "loan_no")
                                    {
                                        self.loanNoArray.append(name as! String)
                                    }

                                    if let name = loanDict.value(forKey: "amount")
                                    {
                                        self.loanAmtArray.append(name as! String)
                                    }

                                    OperationQueue.main.addOperation({
                                        self.tableView.reloadData()
                                    })
                                }
                            }
                        }

我已经试过这个Swift代码,它也能工作。我有一个“user_id”的默认值,它是0,我只是添加了一些关于它的信息,以便查看我的Swift代码是否有效,它是否有效。

Swift 3.1

PHP中的

根据您的要求,有不同的选项可供选择。在
connect.php
上以同样的方式编写上述代码。但是您需要编写
SELECT
query以
INSERT
query通过移动端发送
parameters
,并且还需要一个参考变量来获取方法是
INSERT
还是
SELECT

例如,

<>请考虑从URL中获取值,如<代码>https://somesite.somedomain/databaseoperations.php和您的
数据库操作。php
有以下查询

$user_id = $_POST['user_id']; 
$operation = $_POST['operation']; 
require_once('Connect.php'); 

if($operation == "select"){
$sql = "SELECT * FROM Loans WHERE user_id=?"; 
....
// Here, perform Select from database using $user_id as a
// bound param, then echo json_encode()
}else if ($operation == "insert"){
 //Just perform Database Insert operation
}else{
 echo json_encode(["error"=>"Illegal Operation"]);
}
在iOS中

只需使用
user\u id
操作执行
URLRequest
,使用
post
参数即可

要获得如下所示的post参数的值

let url = "https://somsite.somedomain/databaseoperations.php"
let postParam = "user_id=4&operation=select"
对于Put Value
postParam
变为

let postParam = "user_id=5&operation=insert"
供参考:-

let postParam="user_id=5&operation=insert"
let url = URL(string: "https://somsite.somedomain/databaseoperations.php")
var request = URLRequest(url: url!)
request.httpBody = postParam.data(using: String.Encoding.utf8)
request.httpMethod = "POST"
let task = URLSession.shared.dataTask(with: request) { data,response,error in
        guard error == nil else{
            print(error!)
            return
        }

    do{
        let jsonObject = try JSONSerialization.jsonObject(with: data!, options: .allowFragments)
        print(jsonObject)
    }catch{

        print(error.localizedDescription)
    }
}
task.resume()

我希望能给你一些想法。

谢谢你的回答。我只是想知道在我声明了后参数的值之后,我会把它放在哪里?谢谢你的回答。我只是想知道,在我声明了后参数的值之后,我会把它放在哪里?此外,我还有一个基于Swift代码上“getUserId.text”的用户id的特定值,该代码是否可以用于postParam中的代码:“用户id=(getUserId.text)&操作=选择“您的欢迎”。是的
user\u id=\(getUserId.text!)&operation=select
是正确的,兄弟。我只是想知道在声明后参数的值后,我到底要把它放在哪里?请参阅更新的答案。你可以这样做参考代码。当我在电脑里的时候,我会更新具体的答案。这看起来像是你原来问题的第二个副本,简?