douqianbiao4216 2016-09-26 06:41
浏览 68
已采纳

Ionic Angular将数据传递给PHPfile并插入MySQL数据库

Something strange happen, I pass insert data from angular controller to php file. Next, php file is inserting data into MySQL database. All the data is successfully inserted. However once I click on button two record is inserted into MySQL database. One will the empty data is inserted and second is the data I entered from UI. The following is my code:

Javascript controller Code:

.controller('registerController',['$scope', '$stateParams', '$state', '$http', function($scope, $stateParams, $state, $http){
    var userInformation = [];
    $scope.registration = {};
    console.log($stateParams.all);

    $scope.doRegister = function () {
        if( $scope.registration.pasword !== $scope.registration.confirmpassword){
                alert("Password not match");
        }
    $http({
        url: "http://localhost/php/chat.php",
        method: "POST",
        data: {
            'username': $scope.registration.username,
            'email': $scope.registration.emailaddress,
            'password': $scope.registration.pasword
        }
    }).success(function(response) {
        console.log(response);
    }).error(function(response) {
        console.log(response);
    });
        $state.go('login', {userInformation : userInformation});
    };
    $scope.goBack = function() {
        $state.go('login');
  }
}])

PHP Code

<?php
    header("Access-Control-Allow-Origin: *");
    header("Access-Control-Allow-Credentials: true");
    header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
    header("Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With");

    $postdata = file_get_contents("php://input");
    $request = json_decode($postdata);
    $user = $request->username;
    $email = $request->email;
    $pass = $request->password;

    $servername = "localhost";
    $username = "jack";
    $password = "1234";
    $dbname = "chat";
    $conn = new mysqli($servername, $username, $password, $dbname);

    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql = "INSERT INTO use_directory VALUES ('', '$user', '$email', '$pass');" ;
    $retval = $conn->multi_query($sql);

    if( $retval === TRUE) {
        echo "Add successfully
";
    }else { 
        die('Could not edit data');
    }
?>

Here is my database outcome

enter image description here

  • 写回答

1条回答 默认 最新

  • doulun5683 2016-09-26 08:17
    关注
    $sql = "INSERT INTO use_directory (user,email,pass) VALUES ( '$user','$email', '$pass')" ;
    if(mysqli_query($conn, $sql)){
       echo "Add successfully
    ";
    }else{
       die('Could not edit data');
    }
    

    Have you tried like this? Hope it helps :)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器