当前位置: 首页 > 知识库问答 >
问题:

数据没有被发送到数据库,因为它不能被读取

淳于宏伯
2023-03-14
let urlOfSMARTCF = URL(string: "http://192.168.1.99/insertData.php")
let request = NSMutableURLRequest(url: urlOfSMARTCF! as URL)
request.httpMethod="POST"
request.addValue("application/json", forHTTPHeaderField: "Accept")
for contact in contactsCaptuure
{
    let userMobileNumber = DBManager.shared.retriveRegisteredNumberOfMobile()
    let postParameters = "{\"usermobilenum\":\(String(describing: userMobileNumber!)),\"contactnum\":\(contact.phoneNumber!)}";
    request.httpBody = postParameters.data(using: String.Encoding.utf8)
    let task = URLSession.shared.dataTask(with: request as URLRequest)
    {
        data, response, error in

        if error != nil
        {
            print("error is \(String(describing: error))")
            return;
        }
        do
        {
            let myJSON = try  JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary
            if let parseJSON = myJSON
            {
                var msg : String!
                msg = parseJSON["message"] as! String?
                print(msg)

            }
        }
        catch
        {
            print(error.localizedDescription)
            print(error)
        }

    }
    print("Done")
    task.resume()
}
<?php

if($_SERVER["REQUEST_METHOD"]=="POST")
{
require 'connectDB.php';
$userPhone = $_POST["usermobilenum"];
$contactNum = $_POST["contactnum"];
$query = "SELECT * FROM user WHERE UserMobNum='".$userPhone."'"; // Usermobile is registered.SIP exists.
if($results= mysqli_query($connect,$query))
{
    if(mysqli_num_rows($results)>0)
    {
        $i=0;
        while($rows=mysqli_fetch_assoc($results))
        {
            $sip[$i] = $rows["SIP"];
            $i++;
        }
        $queryToAddData = "INSERT INTO user (UserMobNum,SIP,Phone) VALUES ('".$userPhone."','".$sip[0]."','".$contactNum."')";
        if(mysqli_query($connect,$queryToAddData))
        {
            //Return success message to the app
                            echo "Success"
        }
        else
        {
            die(mysqli_error($connect));
        }
    }
    else
    {
        $availableSIP=false;
        while($availableSIP==false) // Assign a random value until it's being a valid one.
        {
            $sip[0]=rand(1,9999);
            $queryToCheck = "SELECT * FROM user WHERE SIP='".$sip[0]."'";
            if($results= mysqli_query($connect,$queryToCheck))
            {
                if(mysqli_num_rows($results)==0)
                {
                    $availableSIP=true;
                }
            }
        }
        $queryToAddData = "INSERT INTO user (UserMobNum,SIP,Phone) VALUES ('".$userPhone."','".$sip[0]."','".$contactNum."')";
        if(mysqli_query($connect,$queryToAddData))
        {
            //Return success message to the app
                            echo "Success"
        }
        else
        {
            die(mysqli_error($connect));
        }
    }
}
else
{
    echo "First Level Failure!";
    die(mysqli_error($connect));
}
mysqli_close($connect);
}
else
{
    echo "Failed in POST Method"
}

?>

这是InsertDataTest.php文件:

<?php

if($_SERVER["REQUEST_METHOD"]=="POST")
{
    $userPhone = $_POST["usermobilenum"];
    echo $userPhone;
    mysqli_close($connect);
}
else
{
    echo json_encode("Failed in POST Method");
}

?>

共有1个答案

胥承
2023-03-14
let urlOfSMARTCF = URL(string: "http://192.168.1.99/insertData.php")
let request = NSMutableURLRequest(url: urlOfSMARTCF! as URL)
request.httpMethod="POST"
request.addValue("application/json", forHTTPHeaderField: "Accept")
for contact in contactsCaptuure {
let userMobileNumber = DBManager.shared.retriveRegisteredNumberOfMobile()

let postParameters = NSMutableDictionary()
postParameters["usermobilenum"] = userMobileNumber
postParameters["contactnum"] = contact.phoneNumber!

let jsonData = try? JSONSerialization.data(withJSONObject: postParameters, options: .prettyPrinted)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request as URLRequest) {
    data, response, error in

    if error != nil {
        print("error is \(String(describing: error))")
        return;
    }
    do {
        let myJSON = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? [String: Any]

        if let parseJSON: NSMutableDictionary = NSMutableDictionary(dictionary: myJSON as! NSMutableDictionary){

                let msg = parseJSON["message"] as! String
                print(msg)

            }
    }
    catch {
        print(error.localizedDescription)
        print(error)
    }

}
print("Done")
task.resume()
}
 类似资料:
  • 我正在localhost上运行ASP.netJSON服务。我正在从Android应用程序向服务器发送JSON POST请求。服务器正在接收连接,但没有POST数据(我通过设置断点来确认这一点,断点在我从Android应用程序发布后命中)。我得到的HttpURLConnection响应代码是200 OK。但是,服务器没有收到数据。我不确定是否正在发送任何数据。我的android代码是(包裹在Asyn

  • LoginServlet.java create.html 使用,我将值插入到数据库中。问题是,我可以在没有登录的情况下打开和,即使没有登录,也会将值插入数据库。我知道问题在于会话没有被正确地传递(使用)。我该怎么解决呢?有人能纠正吗?

  • 我正在学习Java,正在使用java 8,spring 5.3.9和Apache Tomcat 9。我已经将我的jar文件添加到我的构建路径中的类路径中,将Apache Tomcat添加到我的服务器中,我的项目运行得非常好。现在我开始使用beans和xml文件,我遇到了一个问题。我的代码的一部分被触发,另一部分被忽略。 我有以下界面 FortuneService.java: 和一个快乐财富服务类:

  • 问题内容: 我有这个小点击计数器。我想将每次单击都包含在mysql表中。有人可以帮忙吗? 万一有人想看看我做了什么: 这是phpfile.php,出于测试目的,将数据写入txt文件 问题答案: 您的问题中定义的JavaScript不能直接与MySql一起使用。这是因为它不在同一台计算机上运行。 JavaScript在客户端(在浏览器中)运行,并且数据库通常在服务器端存在。您可能需要使用中间服务器端

  • 我得到一个错误 代码如下: 这太奇怪了,因为数据被正确地添加到我的数据库中,其他时候我使用相同的代码(用于用户注册),它没有任何问题...我检查了所有的东西,我找不到问题。 我得到的错误是: 警告:mysqli_num_rows()期望参数1是mysqli_result,布尔值在第58行的C:\xampp\htdocs\Dream Pizza\add_order.php中给出 连接到数据库时出错!

  • 从MySQL切换到PostgreSQL后,我发现我的SQL查询(spring数据存储库界面中的@query)不再有效。这个问题是由null值作为bytea发送引起的,我得到了以下异常: 带有@Query的存储库: 简单测试: 在实际情况中,我有多个可以为null的参数,我不希望在java代码中检查它们,而是将它们发送到sql查询。我在这里检查了stackoverflow的问题,但没有找到一个好答案