将数据从Swift检索到PHP,然后返回到Swift
在我的PHP文件中,我有以下代码:将数据从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代码:
$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 ValuepostParam
变为
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
是正确的,兄弟。我只是想知道在声明后参数的值后,我到底要把它放在哪里?请参阅更新的答案。你可以这样做参考代码。当我在电脑里的时候,我会更新具体的答案。这看起来像是你原来问题的第二个副本,简?