Swift 5 Xcode 11 やっとSwiftからPHP経由でMySQLにデータを送信できました。

PHPは過去にデータベースへデータを送受信するプログラムを使った事があったのですが、SwiftからそのPHPにデータを送るのに苦労しました。

何しろ、Xcodeは今回初めて使うものですから、何から何まで初体験の連続で、しかもインターネットで調べても、コードが古かったりして、コードを記載しても動かずに徒労に終わってしまうことなど10回やって9回はそうでした。

でもやっと、1つの山場であるアンケートフォームからのMySQLへのデータ送信ができました。

1番苦労したのは、Swift側で送るためのデータを正確に取得してそれをPHPに送る変数にセットすることでした。

PHPの方は、最初はインターネットで調べたものを使おうとしたのですが、結局、以前自分でPHPからMySQLへデータの送受信を行うプログラムを作ったものがありましたのでそれをそっくりそのまま使いました。

下記に、Swift側のコードとサーバーにアップするPHPのコードを記載させていただきます。

 

Swift側のコード

https://gist.github.com/cabbage770/56d07d73b85712c597ab4b3ec1e20dad.js

上記コードは下記URLのサイト様からコピーさせていただきました。

ただ変更したところもあって、それは送りたいデーターを変数に格納するところです。

26行目の

let postParameters = “address="+addressNo+"&sex="+sexNo!;

let postParameters = “address=(addressNo)&sex=(sexNo)&age=(ageNo)"

に変更しました。

参照したサイト様は以下です。

https://www.wantedly.com/companies/mediaxis/post_articles/74867

そして、PHP側のコードですが、2つあります。config.phpとinput_do.phpです。config.phpはMySQL へ接続するための情報が入っているファイルです。実際にMySQL へデータを送るのがinput_do.phpです。

https://gist.github.com/cabbage770/7770f4ec4b2bf33700341e02d5a36dfe.js https://gist.github.com/cabbage770/bc51c1d74066b0dd569774efeb1af2d3.js

MySQLとは直接関係ないのですが、データベースへ送るデータの発生源のアンケートフォームのコードも含めた全コードとアンケートフォーム画像も以下に掲載させていただきます。

アンケートフォーム画像
https://gist.github.com/cabbage770/6c9f7ada26b40abd2054d0c06e756d36.js

以上です。

あとはconfig.phpとinput_do.php2つのPHPファイルをサーバー内の同じ場所にアップロードしてinput_do.phpへのURLをSwift側のコードの2行目に記載すれば完成です。