我正在尝试从 Swift 向我的 PHP 文件发布一些信息。 我的 php 文件已执行,但发布的变量只是没有通过 php 文件。我做错了什么?
快速代码:
@IBAction func buttonPress(sender: AnyObject) {
let request = NSMutableURLRequest(URL: NSURL(string: "http://www.domain.com/php_swift_test/insert.php")!)
request.HTTPMethod = "POST"
let postString = "a=test&b=bla"
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
print("error=\(error)")
return
}
print("response = \(response)")
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
print("responseString = \(responseString)")
}
task.resume()
}
PHP代码:
<?php
@session_start();
@ob_start();
$host='localhost';
$user='test';
$password='Passw0rd99';
$db_name="mysql_test";
$connection = mysql_connect($host,$user,$password);
$a = $_POST['a'];
$b = $_POST['b'];
if(!$connection){
die('Connection Failed');
}
else{
$dbconnect = @mysql_select_db($db_name, $connection);
if(!$dbconnect){
die('Could not connect to Database');
}
else{
$query = "INSERT INTO res_club (FirstName, LastName) VALUES ('$a','$b')";
mysql_query($query, $connection) or die(mysql_error());
echo 'Successfully added.';
echo $query;
echo $a.$b;
}
}
?>
一个空行被添加到数据库中,没有名字和姓氏。 PHP 文件没有得到 $_Post['a']
和 b
echo 语句 echo $a.$b
也保持空白。没有显示错误。
最佳答案
这对我有用。
视频 - https://youtu.be/wYkZ47Rz8iU
Swift 代码 - 示例
let request = NSMutableURLRequest(URL: NSURL(string: "http://www.kandidlabs.com/YouTube/SwiftToMySQL/insert.php")!)
request.HTTPMethod = "POST"
let postString = "a=\(usernametext.text!)&b=\(password.text!)&c=\(info.text!)&d=\(number.text!)"
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
print("error=\(error)")
return
}
print("response = \(response)")
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
print("responseString = \(responseString)")
}
task.resume()
PHP 代码 - 示例
<?php
$host='localhost';
$user='root';
$password='';
$connection = mysql_connect($host,$user,$password);
$usernmae = $_POST['a'];
$pass = $_POST['b'];
$info = $_POST['c'];
$num = $_POST['d'];
if(!$connection)
{
die('Connection Failed');
}
else
{
$dbconnect = @mysql_select_db('YoutubeTutorialDB', $connection);
if(!$dbconnect)
{
die('Could not connect to Database');
}
else
{
$query = "INSERT INTO `YoutubeTutorialDB`.`Users` (`Username`, `Password`, `Info`, `FavoriteNumber`)
VALUES ('$username','$pass','$info','$num');";
mysql_query($query, $connection) or die(mysql_error());
echo 'Successfully added.';
echo $query;
}
}
?>
关于ios - 从 Swift 将数据 POST 到 PHP 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37400639/