gpt4 book ai didi

ios - 如何使用 Swift 将数据从 IOS 应用程序 POST 到 MySQL 表?

转载 作者:行者123 更新时间:2023-11-30 10:24:08 24 4
gpt4 key购买 nike

我和我的团队正在开发一个项目,其中涉及从现有的 Android 应用创建 IOS 应用。源代码已提供给我们,但由我们来创建 IOS 应用程序并将其链接到已在 Android 上链接和创建的所有内容。基本上,我们必须在 IOS 上复制 Android 应用程序。

事实上,CodeIgniter 是使用的框架,我们已经用 PHP 编写了用于连接的 Web 代码。这是我一直尝试连接的代码中的特定部分:

function registerUser_post() {

$emailAddress = $this->input->post('emailAddress');
$mobileNumber = $this->input->post('mobileNumber');

if(!empty($emailAddress)&&!empty($mobileNumber)){

// Set the response and exit
$this->db->select('*');
$this->db->from('studentregister');
$this->db->where('studregEmail', $emailAddress);
$query = $this->db->get();
$user = $query->row();

if($user->studregEmail) {
$userID = $user->studregId;
$this->db->where('studregEmail', $emailAddress);

if(empty($user->studregmobileNum)) {
$this->db->update('studentregister', array('studregmobileNum' => $mobileNumber));
$this->sendEmailtoUser_post($userID);
} else {
$data = array (
'studregEmail' => $emailAddress,
'studregmobileNum' => $mobileNumber,
'studregId' => $userID,
);

$this->response([
'status' => 'Connected',
'message' => 'Account already exists',
'data' => $data
], REST_Controller::HTTP_OK);

}
$data = array (
'studregEmail' => $emailAddress,
'studregmobileNum' => $mobileNumber,
'studregId' => $userID,
);

$this->response([
'status' => 'Connected',
'message' => 'User login successful.',
'data'=> $data
], REST_Controller::HTTP_OK);
} else {

$this->response([
'status' => 'Connected',
'message' => 'You have entered Wrong Email/Password. Please try again.',
'data' => 'null'
//return api key
], REST_Controller::HTTP_OK);
}
} else {

$this->response([
'status' => 'Connected',
'message' => 'You have not entered an Email/Password. Please try again.'
//return api key
], REST_Controller::HTTP_OK);
}
}

在尝试将 XCode Playground 放入我们的应用程序之前,我一直尝试先使用 XCode Playground 进行连接,这是我尝试使用的代码:

import UIKit

let session = URLSession.shared
let url = URL(string: "https://thomasianjourney.website/register/registerUser")!

var request = URLRequest(url: url)
request.httpMethod = "POST"

request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("Powered by Swift!", forHTTPHeaderField: "X-Powered-By")

let json = [
"studregEmail": "insertemailhere",
"studregmobileNum": "insertnumberhere"
]

let jsonData = try! JSONSerialization.data(withJSONObject: json, options: [])

let task = session.uploadTask(with: request, from: jsonData) { data, response, error in
if let data = data, let dataString = String(data: data, encoding: .utf8) {
print(dataString)
}
}

task.resume()

但是,我似乎无法将放入数据库的数据插入。我总是遇到错误:{"status":"已连接","message":"您尚未输入电子邮件/密码。请重试。"}

我不完全确定我应该特别研究什么,或者我是否走在完成这项工作的正确道路上,但任何帮助将不胜感激。我也有可能以错误的方式这样做,所以如果我是这样,请告诉我;我希望能够纠正我正在做的事情并最终将所有内容连接起来,这样我就可以继续进行应用程序的下一部分。提前非常感谢您!

最佳答案

我确实相信您应该将 studregEmail 替换为 emailAddress,将 studregmobileNum 替换为 mobileNumber,反之亦然,两侧的 key 应该相同。服务器端代码正在查找键 emailAddress 的值,但该值是空的,这就是为什么它没有传递您的第一个 if 语句并返回空字段错误。

关于ios - 如何使用 Swift 将数据从 IOS 应用程序 POST 到 MySQL 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60171190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com