iOSアプリからサーバ上のDBにデータを送信できない件
開発初心者の質問で分かりにくい点が多々あるかと存じますが、ご了承くださいませ。
「Objective-C」にて「AFNetworking3.0」のライブラリを活用して、サーバー上(centOS7)
にデータの送信を試みているのですが、Xcodeにて以下のエラーが発生して、データの送信ができません。エラーの原因と解決方法がお分かりになる方、ご教示頂きたく存じます。
■エラー内容(ビルド実行後に表示されたエラー)
omain=com.alamofire.error.serialization.response Code=-1011 "Request failed: internal server error (500)" UserInfo={NSLocalizedDescription=Request failed: internal server error (500), NSErrorFailingURLKey=http://xxx.xxx.xx.xxx/send_request.php, com.alamofire.serialization.response.error.data=<>, com.alamofire.serialization.response.error.response= { URL: http://xxx.xxx.xx.xxx/send_request.php } { Status Code: 500, Headers {
Connection = (
close
);
"Content-Length" = (
0
);
"Content-Type" = (
"text/html; charset=UTF-8"
);
Date = (
"Thu, 26 Jul 2018 05:59:04 GMT"
);
Server = (
"Apache/2.4.6 (CentOS) PHP/7.1.19"
);
"X-Powered-By" = (
"PHP/7.1.19"
);
} }}
■Objective-C(ビルド実行した内容)
- (void)send_request
{
AFHTTPSessionManager* manager = [AFHTTPSessionManager manager];
NSDictionary* postparam = @{ @"table_name" : @"test_json",
@"addtext1" : @"add_A",
@"addtext2" : @"add_B",
@"addtext3" : @"add_C"};
[manager POST:@"http://XXX.XXX.XX.XXX/send_request.php"
parameters:postparam progress:nil
success:^(NSURLSessionTask* task, id responseObject) {
//通信成功
NSLog(@"成功response: %@", responseObject);
}
failure:^(NSURLSessionTask* operation, NSError* error) {
//通信失敗
NSLog(@"失敗Error: %@", error);
}];
}
補足情報
データベース名:test
テーブル名:test_json
フィールド1:field_A
フィールド2:field_B
フィールド3:field_C
Apache/2.4.6 (CentOS)
PHP/7.1.19"
MySQL 5.7.22
■Databaseclass.php(サーバー上にアップしたファイル1)
<?php
mb_language("uni");
mb_internal_encoding("utf-8");
mb_http_input("auto");
mb_http_output("utf-8");
class Database{
var $dbServer;
var $dbName;
var $dbUser;
var $dbPass;
var $link;
var $db;
var $query;
function Database1($db_name)
{
$this->dbServer="localhost";
$this->dbName=$db_name;
$this->dbUser="ユーザ名";
$this->dbPass="パスワード";
$this->link=mysql_connect($this->dbServer,
$this->dbUser,
$this->dbPass)
or
die(exit);
$this->db=mysql_select_db($this->dbName,$this->link);
$this->query=mysql_query('SET NAMES utf8',$this->link);
}
public function close()
{
return mysql_close($this->link);
}
public function select($query)
{
$result=mysql_query($query);
$row=array();
$row=mysql_fetch_assoc($result);
return $row;
}
public function query($query)
{
return mysql_query($query);
}
public function jsonparse($query)
{
$row = mysql_fetch_object($query);
return $row;
}
}
?>
■send_request.php(サーバー上にアップしたファイル2)
<?php
include_once "DatabaseClass.php";
if($_POST["table_name"] && $_POST["addtext1"]
&& $_POST["addtext2"] && $_POST["addtext3"])
{
$table_name = $_POST["table_name"];
$addtext1 = $_POST["addtext1"];
$addtext2 = $_POST["addtext2"];
$addtext3 = $_POST["addtext3"];
$database = new Database("test");
$sql = "INSERT INTO {$table_name} (field_A,field_B,field_C) VALUES ('{$addtext1}','{$addtext2}','{$addtext3}');";
$query = $database->query($sql);
$sql = ("SELECT * FROM {$table_name}");
$query = $database->query($sql);
$json= array();
if(strstr($table_name, 'test_json')){
while ($row = mysql_fetch_object($query)) {
$json[] = array(
'field_A'=> $row->field_A
,'field_B'=> $row->field_B
,'field_C' => $row->field_C
);
}
}//if(strstr($table_name, 'test_json'))
header("Content-Type: application/json; charset=utf-8");
echo json_encode($json);
$database->close();
}//if($_POST["table_name"])
?>