早上好,
我正在尝试使用Swift和它调用的.php文件通过PHP文件发送变量(id_post),但是¨id_post¨是空的,因为当我打印¨id_post的值时,它总是为空。 / p>
你知道为什么会这样吗?从1个月前开始,我在另一个项目中使用了相同的功能,并且工作正常,而不是。我错过了什么吗?
此外,我测试了¨postString¨值,它总是正确的(id_post = 64)。
这是我的Swift代码:
func requestPost () {
let request = NSMutableURLRequest(URL: NSURL(string: "http://www.website.com/post.php")!)
request.HTTPMethod = "POST"
let postString = "id_post="+id_post
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
return
}
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)!
print("post: \(responseString)")
self.posts = self.parseJsonData(data!)
// Reload table view
dispatch_async(dispatch_get_main_queue(), {
self.tableView.reloadData()
})
}
task.resume()
}
这是我的PHP代码:
$dbhost="localhost";
$dbusuario="dbuser";
$dbpassword="dbpassword";
$db="db";
$conexion = mysql_connect($dbhost, $dbusuario, $dbpassword);
mysql_select_db($db, $conexion);
mysql_query("SET NAMES 'utf8'");
$id_post=$_POST['id_post'];
$return_arr = array();
$fetch = mysql_query("SELECT * FROM posts WHERE id=$id_post");
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC))
{
$row_array['id'] = $row['id'];
$row_array['image'] = $row['image'];
array_push($return_arr,$row_array);
}
echo '{"post": '.json_encode($return_arr).'}';
提前致谢,
问候。
答案 0 :(得分:0)
我唯一要改变的是“http://www.website.com”到“http://website.com”。我不知道为什么它没有那样工作,但如果有人有同样的奇怪问题,我会发布解决方案。
此致