Моя проблема в том, что код iOS Swift 3 не обновляет базу данных mysql, она должна быть всякий раз, когда код sendData () инициализируется, чтобы добавить +1 и обновить базу данных столбца testPop.
У моего приложения есть табличное представление со строками разных объектов, у меня есть кнопка в каждой строке, которая получает indexPath.row, чтобы узнать, в какой кнопке она была нажата. Используя эту информацию, мой код sendData () должен добавить + 1 для testPop конкретной строки.
Надеюсь, что это имело смысл, спасибо.
Swift 3 Код: отправка данных в базу данных:
func sendData() { let postDataURL = "http://exampleip.com/Send.php" let url: NSURL = NSURL(string: postDataURL)! let request: NSMutableURLRequest = NSMutableURLRequest(url:url as URL) let bodyData = String(1) request.httpMethod = "POST" request.httpBody = bodyData.data(using: String.Encoding.utf8) NSURLConnection.sendAsynchronousRequest(request as URLRequest, queue: OperationQueue.main) { (response, data, error) in print(response!) if let httpResponse = response as? HTTPURLResponse { let statusCode = httpResponse.statusCode if statusCode==200 { print("Connection Successful") } else { print("Connection Failed (!200)") } } } }
Код PHP:
<?php $host = "host"; $db = "db"; $user = "user"; $pass = "pass"; $connection = mysql_connect($host,$user,$pass); // Guessing: Posting into MySQL Object $id = $_POST["id"]; // Checking if connection can be established if(!$connection){ die("Connection Failed"); } else { // Selecting Database $dbconnect = mysql_select_db($db, $connection); // Check if it can connect to Database if(!$dbconnect){ die("Unable to connect to Database"); } else { $query = sprintf("UPDATE tests SET testPop=testPop+1 WHERE id = %d", $id); $resultset = mysql_query($query, $connection); echo "Successfully added"; echo $query; } } ?>
Код MySQL:
CREATE TABLE IF NOT EXISTS `tests` ( `id` int(11) NOT NULL AUTO_INCREMENT, `testName` varchar(255) DEFAULT NULL, `testPop` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ; INSERT INTO `tests` (`id`, `testName`, `testPop`) VALUES (1, 'Test 1', '0'), (2, 'Test 2', '0'), (3, 'Test 3', '0'), (4, 'Test 4', '0'), (5, 'Test 5', '0'), (6, 'Test 6', '0'), (7, 'Test 7', '0'), (8, 'Test 8', '0'), (9, 'Test 9', '0'), (10, 'Test 10', '0'), (11, 'Test 11', '0'), (12, 'Test 12', '0');